Преглед на файлове

utils: Don't leak memory of pkg_realloc returns NULL

Carsten Bock преди 10 години
родител
ревизия
641b7b2371
променени са 1 файла, в които са добавени 3 реда и са изтрити 2 реда
  1. 3 2
      modules/utils/functions.c

+ 3 - 2
modules/utils/functions.c

@@ -58,13 +58,14 @@ size_t write_function( void *ptr, size_t size, size_t nmemb, void *stream_ptr)
 {
 	http_res_stream_t *stream = (http_res_stream_t *) stream_ptr;
 
-	stream->buf = (char *) pkg_realloc(stream->buf, stream->curr_size + 
+	char *tmp = (char *) pkg_realloc(stream->buf, stream->curr_size + 
 			(size * nmemb));
 
-	if (stream->buf == NULL) {
+	if (tmp == NULL) {
 		LM_ERR("cannot allocate memory for stream\n");
 		return CURLE_WRITE_ERROR;
 	}
+	stream->buf = tmp;
 
 	memcpy(&stream->buf[stream->pos], (char *) ptr, (size * nmemb));