]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
color: handle case where fmt is NULL
authorStephen Hemminger <stephen@networkplumber.org>
Tue, 23 Jan 2024 04:26:08 +0000 (20:26 -0800)
committerStephen Hemminger <stephen@networkplumber.org>
Tue, 23 Jan 2024 04:26:08 +0000 (20:26 -0800)
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>
lib/color.c

index 59976847295c5927816d525fefe6efdfbd4bc2de..cd0f9f7509b5f73598ae794c0c6bfec16d49a254 100644 (file)
@@ -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) {