Re: kernel/auditsc.c bug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday 23 December 2005 22:17, Lee Revell wrote:
> gcc 4.0.2 complains that state is (not "may be", is) used initialized on
> line 607:
> 
> 605         list_for_each_entry_rcu(e, &audit_filter_list[AUDIT_FILTER_USER], list) {
> 606                 if (audit_filter_user_rules(cb, &e->rule, &state)) {
> 607                         if (state == AUDIT_DISABLED)
> 608                                 ret = 0;
> 609                         break;
> 610                 }
> 
> AFAICT state will always have been initialized if
> audit_filter_user_rules() returns nonzero:
> 
> 590         switch (rule->action) {
> 591         case AUDIT_NEVER:    *state = AUDIT_DISABLED;       break;
> 592         case AUDIT_POSSIBLE: *state = AUDIT_BUILD_CONTEXT;  break;
> 593         case AUDIT_ALWAYS:   *state = AUDIT_RECORD_CONTEXT; break;
> 594         }
> 595         return 1;
> 
> Is GCC correct that this is a bug (no default case in the switch
> statement)?
>

Well, rule actions are #defines, how can a compiler know that the switch
covers all possible values? If they were enums OTOH...

-- 
Dmitry
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux