From: Jim Meyering Date: Sun, 11 Apr 1999 01:43:34 +0000 (+0000) Subject: `ls --color' would segfault X-Git-Tag: FILEUTILS-4_0f~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=23dfcdb3689f1e030a14fb312b683cd6c82a57d2;p=thirdparty%2Fcoreutils.git `ls --color' would segfault Include assert.h. (color_indicator[]): Add an entry for the type, `door.' (main): Assert that the lengths of the color_indicator and indicator_name arrays are appropriately related. --- diff --git a/src/ls.c b/src/ls.c index 6a16d54001..6ebdeb52d7 100644 --- a/src/ls.c +++ b/src/ls.c @@ -65,6 +65,7 @@ #endif #include +#include #include #include #include @@ -461,7 +462,8 @@ static struct bin_str color_indicator[] = { LEN_STR_PAIR ("01;33") }, /* cd: Char device: bright yellow */ { 0, NULL }, /* mi: Missing file: undefined */ { 0, NULL }, /* or: Orphanned symlink: undefined */ - { LEN_STR_PAIR ("01;32") } /* ex: Executable: bright green */ + { LEN_STR_PAIR ("01;32") }, /* ex: Executable: bright green */ + { LEN_STR_PAIR ("01;35") } /* do: Door: bright magenta */ }; /* FIXME: comment */ @@ -740,6 +742,9 @@ main (int argc, char **argv) bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); +#define N_ENTRIES(Array) (sizeof Array / sizeof *(Array)) + assert (N_ENTRIES (color_indicator) + 1 == N_ENTRIES (indicator_name)); + exit_status = 0; dir_defaulted = 1; print_dir_name = 1;