Fix memory leak if realloc returns NULL

Thanks @AlfieDeng for reporting
This commit is contained in:
Max Bruckner 2018-05-21 22:00:07 +02:00
parent 787d651e81
commit af5b4911de

View File

@ -1113,10 +1113,10 @@ static unsigned char *print(const cJSON * const item, cJSON_bool format, const i
if (hooks->reallocate != NULL) if (hooks->reallocate != NULL)
{ {
printed = (unsigned char*) hooks->reallocate(buffer->buffer, buffer->offset + 1); printed = (unsigned char*) hooks->reallocate(buffer->buffer, buffer->offset + 1);
buffer->buffer = NULL;
if (printed == NULL) { if (printed == NULL) {
goto fail; goto fail;
} }
buffer->buffer = NULL;
} }
else /* otherwise copy the JSON over to a new buffer */ else /* otherwise copy the JSON over to a new buffer */
{ {