← Commit list

765c1c3c3

Denis Vlasenko
Denis Vlasenko
2008-04-23
FAILED Duration: 18s

Subject

getopt32: fix "tar x" case; fix memory leak

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

libbb/getopt32.c+3 -5
@@ -494,7 +494,7 @@ getopt32(char **argv, const char *applet_opts, ...)
va_end(p);
if (spec_flgs & FIRST_ARGV_IS_OPT) {
- if (argv[1] && argv[1][0] != '-' && argv[1][1] != '\0') {
+ if (argv[1] && argv[1][0] != '-' && argv[1][0] != '\0') {
#if DONT_USE_PRINTF
char *pp = alloca(strlen(argv[1]) + 2);
*pp = '-';
@@ -502,8 +502,7 @@ getopt32(char **argv, const char *applet_opts, ...)
argv[1] = pp;
#else
argv[1] = xasprintf("-%s", argv[1]);
- if (ENABLE_FEATURE_CLEAN_UP)
- spec_flgs |= FREE_FIRST_ARGV_IS_OPT;
+ spec_flgs |= FREE_FIRST_ARGV_IS_OPT;
#endif
}
}
@@ -586,10 +585,9 @@ getopt32(char **argv, const char *applet_opts, ...)
}
}
-#if ENABLE_FEATURE_CLEAN_UP
if (spec_flgs & FREE_FIRST_ARGV_IS_OPT)
free(argv[1]);
-#endif
+
/* check depending requires for given options */
for (on_off = complementary; on_off->opt_char; on_off++) {
if (on_off->requires && (flags & on_off->switch_on) &&