diff --git a/mongoose.c b/mongoose.c index a22898a3..f164b5e7 100644 --- a/mongoose.c +++ b/mongoose.c @@ -3046,8 +3046,10 @@ bool mg_file_printf(struct mg_fs *fs, const char *path, const char *fmt, ...) { va_start(ap, fmt); data = mg_vmprintf(fmt, &ap); va_end(ap); - result = mg_file_write(fs, path, data, strlen(data)); - mg_free(data); + if (data != NULL) { + result = mg_file_write(fs, path, data, strlen(data)); + mg_free(data); + } return result; } diff --git a/src/fs.c b/src/fs.c index fd9d7e6b..6df00c4a 100644 --- a/src/fs.c +++ b/src/fs.c @@ -67,8 +67,10 @@ bool mg_file_printf(struct mg_fs *fs, const char *path, const char *fmt, ...) { va_start(ap, fmt); data = mg_vmprintf(fmt, &ap); va_end(ap); - result = mg_file_write(fs, path, data, strlen(data)); - mg_free(data); + if (data != NULL) { + result = mg_file_write(fs, path, data, strlen(data)); + mg_free(data); + } return result; }