]> granicus.if.org Git - sudo/commitdiff
In parse_expr(), move the "bad" label after the "default" case in
authorTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 4 May 2016 22:48:02 +0000 (16:48 -0600)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 4 May 2016 22:48:02 +0000 (16:48 -0600)
the switch(), not before it.  This seemed to confuse Covertity,
resulting in a false positive, CID 104095.

plugins/sudoers/sudoreplay.c

index d11f81606f3eb15bf1b0699542fa7847e9b9e9bf..ec5ca65a5171bf8213fe070f2703c89793793b02 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2015 Todd C. Miller <Todd.Miller@courtesan.com>
+ * Copyright (c) 2009-2016 Todd C. Miller <Todd.Miller@courtesan.com>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -606,7 +606,7 @@ parse_expr(struct search_node_list *head, char *argv[], bool sub_expr)
                goto bad;
            not = true;
            continue;
-       case 'c': /* command */
+       case 'c': /* cwd or command */
            if (av[0][1] == '\0')
                sudo_fatalx(U_("ambiguous expression \"%s\""), *av);
            if (strncmp(*av, "cwd", strlen(*av)) == 0)
@@ -657,8 +657,8 @@ parse_expr(struct search_node_list *head, char *argv[], bool sub_expr)
            if (!sub_expr)
                sudo_fatalx(U_("unmatched ')' in expression"));
            debug_return_int(av - argv + 1);
-       bad:
        default:
+       bad:
            sudo_fatalx(U_("unknown search term \"%s\""), *av);
            /* NOTREACHED */
        }