From 93212217faa940bb01a0af4907d50e94ef3a2838 Mon Sep 17 00:00:00 2001 From: Peteris Krumins Date: Sat, 7 Aug 2010 01:24:41 +0300 Subject: [PATCH] resolved the realloc problem --- src/gif_encoder.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gif_encoder.cpp b/src/gif_encoder.cpp index 2dedbb1..d877207 100644 --- a/src/gif_encoder.cpp +++ b/src/gif_encoder.cpp @@ -127,14 +127,14 @@ int gif_writer(GifFileType *gif_file, const GifByteType *data, int size) { GifImage *gif = (GifImage *)gif_file->UserData; - if (gif->mem_size < gif->size + size) { - GifByteType *new_ptr = (GifByteType *)realloc(gif->gif, gif->size + size + 1000*1024); + if (gif->size + size > gif->mem_size) { + GifByteType *new_ptr = (GifByteType *)realloc(gif->gif, gif->size + size + 10*1024); if (!new_ptr) { free(gif->gif); throw "realloc in gif_writer failed"; } gif->gif = new_ptr; - gif->mem_size += size + 1000*1024; + gif->mem_size = gif->size + size + 10*1024; } memcpy(gif->gif + gif->size, data, size); gif->size += size;