busybox
The label expected_hwif_error is only visible when FEATURE_HDPARM_HDIO_SCAN_HWIF is defined.
Bug fixed by commit 061fd0a353e
Type | UndefinedSymbol |
Config | FEATURE_HDPARM_HDIO_UNREGISTER_HWIF && !FEATURE_HDPARM_HDIO_SCAN_HWIF (2nd degree) |
Fix-in | mapping |
Location | miscutils/ |
#include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) { int r = rand() % 2; char *p; char c; scanf("%c", &c); switch (c) { case 'W': if (r) p = *argv++, --argc; break; #ifdef CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF case 'U': if(!p) goto expected_hwif_error; //ERROR break; #endif /* CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF */ #ifdef CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF case 'R': if(!p) goto expected_hwif_error; expected_hwif_error: printf("expected hwif value"); #endif /* CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF */ } return 0; }
diff --git a/simple/061fd0a.c b/simple/061fd0a.c --- a/simple/061fd0a.c +++ b/simple/061fd0a.c @@ -27,12 +27,11 @@ case 'R': if(!p) goto expected_hwif_error; - +#endif /* CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF */ expected_hwif_error: printf("expected hwif value"); -#endif /* CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF */ } return 0; } \ No newline at end of file
#include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) { int r = rand() % 2; char *p; char c; scanf("%c", &c); switch (c) { case 'W': if (r) p = *argv++, --argc; break; #ifdef CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF case 'U': if(!p) goto expected_hwif_error; //ERROR break; #endif /* CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF */ #ifdef CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF case 'R': if(!p) goto expected_hwif_error; expected_hwif_error: printf("expected hwif value"); #endif /* CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF */ } return 0; }
. call miscutils/hdparm.c:2534:hdparm_main(int argc, char **argv) . ERROR [FEATURE_HDPARM_HDIO_UNREGISTER_HWIF] 2762:goto expected_hwif_error;