diff options
author | Stephen Hemminger <stephen@networkplumber.org> | 2024-01-22 20:26:08 -0800 |
---|---|---|
committer | Stephen Hemminger <stephen@networkplumber.org> | 2024-01-22 20:26:08 -0800 |
commit | da5a2d94dc012a923133e94bed25a67f6bd74657 (patch) | |
tree | cf1b75bb9c7825a695979da8f905a6383761f7fb | |
parent | 325c96e749436fc8305e7a67a6f1e54e37045450 (diff) | |
download | iproute2-da5a2d94dc012a923133e94bed25a67f6bd74657.tar.gz |
color: handle case where fmt is NULL
There are cases where NULL is passed as format string when
nothing is to be printed. This is commonly done in the print_bool
function when a flag is false. Glibc seems to handle this case nicely
but for musl it will cause a segmentation fault
Since nothing needs to be printed, in this case; just check
for NULL and return.
Reported-by: Pedro Tammela <pctammela@mojatatu.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
-rw-r--r-- | lib/color.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/color.c b/lib/color.c index 599768472..cd0f9f750 100644 --- a/lib/color.c +++ b/lib/color.c @@ -140,6 +140,9 @@ int color_fprintf(FILE *fp, enum color_attr attr, const char *fmt, ...) int ret = 0; va_list args; + if (fmt == NULL) + return 0; + va_start(args, fmt); if (!color_is_enabled || attr == COLOR_NONE) { |