[bug #4297] The strlen mh-format function can crash if 'str' is null.
[mmh] / sbr / fmt_scan.c
index 0a2397b..4f79bf6 100644 (file)
@@ -511,7 +511,10 @@ fmt_scan (struct format *format, char *scanl, int width, int *dat)
            value = dat[fmt->f_value];
            break;
        case FT_LV_STRLEN:
-           value = strlen(str);
+           if (str != NULL)
+                   value = strlen(str);
+           else
+                   value = 0;
            break;
        case FT_LV_CHAR_LEFT:
            value = width - (cp - scanl);