busybox
Unused variable if MDEV_CONF && MDEV_RENAME && !MDEV_RENAME_REGEXP. The pointer variable *p is unused when MDEV_CONF and MDEV_RENAME are set and MDEV_RENAME_REGEXP is not defined.
Bug fixed by commit b62bd7b261b
Type | UnusedVariable |
Config | FEATURE_MDEV_CONF && FEATURE_MDEV_RENAME && !FEATURE_MDEV_RENAME_REGEXP (3rd degree) |
C-features | PointerArithmetic |
Fix-in | mapping |
Location | util-linux/ |
#include <stdio.h> #include <stdlib.h> #include <string.h> void make_device() { #ifdef ENABLE_FEATURE_MDEV_CONF #ifdef ENABLE_FEATURE_MDEV_RENAME char *val; char *s, *p; val = "mode - device permissions"; char *a = val; s = strchr(val, ' '); val = (s && s[1]) ? s+1 : NULL; #ifdef ENABLE_FEATURE_MDEV_RENAME_REGEXP /* substitute %1..9 with off[1..9], if any */ int n = 0; s = a; while (*s) { *p = *s; if(rand() % 2) { n++; p += n - 1; } p++; s++; } #endif #endif /* ENABLE_FEATURE_MDEV_RENAME */ #endif } int main(int argc, char** argv) { if(rand() % 2) make_device(); return 0; }
diff --git a/simple/b62bd7b.c b/simple/b62bd7b.c --- a/simple/b62bd7b.c +++ b/simple/b62bd7b.c @@ -9,7 +9,10 @@ #ifdef ENABLE_FEATURE_MDEV_RENAME char *val; - char *s, *p; + char *s; +#ifdef ENABLE_FEATURE_MDEV_RENAME_REGEXP + char *p; +#endif val = "mode - device permissions"; char *a = val;
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char** argv) { if(rand() % 2) { // make_device(); #ifdef ENABLE_FEATURE_MDEV_CONF #ifdef ENABLE_FEATURE_MDEV_RENAME char *val; char *s, *p; val = "mode - device permissions"; char *a = val; s = strchr(val, ' '); val = (s && s[1]) ? s+1 : NULL; #ifdef ENABLE_FEATURE_MDEV_RENAME_REGEXP /* substitute %1..9 with off[1..9], if any */ int n = 0; s = a; while (*s) { *p = *s; if(rand() % 2) { n++; p += n - 1; } p++; s++; } #endif #endif /* ENABLE_FEATURE_MDEV_RENAME */ #endif } return 0; }