diff options
Diffstat (limited to 'ext/fileinfo/libmagic/print.c')
-rw-r--r-- | ext/fileinfo/libmagic/print.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/ext/fileinfo/libmagic/print.c b/ext/fileinfo/libmagic/print.c index 7e4a812818..b028801524 100644 --- a/ext/fileinfo/libmagic/print.c +++ b/ext/fileinfo/libmagic/print.c @@ -59,15 +59,18 @@ protected void file_magwarn(struct magic_set *ms, const char *f, ...) { va_list va; - char *expanded_format; + char *expanded_format = NULL; + int expanded_len; va_start(va, f); - if (vasprintf(&expanded_format, f, va)); /* silence */ + expanded_len = vasprintf(&expanded_format, f, va); va_end(va); - php_error_docref(NULL, E_NOTICE, "Warning: %s", expanded_format); + if (expanded_len >= 0 && expanded_format) { + php_error_docref(NULL, E_NOTICE, "Warning: %s", expanded_format); - free(expanded_format); + free(expanded_format); + } } protected const char * |