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;