← Commit list

51f1b6c0e

Denis Vlasenko
Denis Vlasenko
2008-07-15
FAILED Duration: 19s

Subject

ls: fix a bug where we may use uninintialized variable

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 →

coreutils/ls.c+6 -5
@@ -837,7 +837,8 @@ int ls_main(int argc UNUSED_PARAM, char **argv)
int dnfiles;
int dndirs;
int i;
- USE_FEATURE_LS_COLOR(char *color_opt;)
+ /* need to initialize since --color has _an optional_ argument */
+ USE_FEATURE_LS_COLOR(const char *color_opt = "always";)
INIT_G();
@@ -888,15 +889,15 @@ int ls_main(int argc UNUSED_PARAM, char **argv)
if (ENABLE_FEATURE_LS_COLOR_IS_DEFAULT && isatty(STDOUT_FILENO)) {
char *p = getenv("LS_COLORS");
/* LS_COLORS is unset, or (not empty && not "none") ? */
- if (!p || (p[0] && strcmp(p, "none")))
+ if (!p || (p[0] && strcmp(p, "none") != 0))
show_color = 1;
}
if (opt & (1 << i)) { /* next flag after short options */
- if (!color_opt || !strcmp("always", color_opt))
+ if (strcmp("always", color_opt) == 0)
show_color = 1;
- else if (color_opt && !strcmp("never", color_opt))
+ else if (strcmp("never", color_opt) == 0)
show_color = 0;
- else if (color_opt && !strcmp("auto", color_opt) && isatty(STDOUT_FILENO))
+ else if (strcmp("auto", color_opt) == 0 && isatty(STDOUT_FILENO))
show_color = 1;
}
#endif