diff options
Diffstat (limited to 'pngpread.c')
-rw-r--r-- | pngpread.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/pngpread.c b/pngpread.c index 5af209d4d..419995eab 100644 --- a/pngpread.c +++ b/pngpread.c @@ -685,9 +685,12 @@ png_push_save_buffer(png_structp png_ptr) png_free(png_ptr, old_buffer); png_error(png_ptr, "Insufficient memory for save_buffer"); } - png_memcpy(png_ptr->save_buffer, old_buffer, png_ptr->save_buffer_size); - png_free(png_ptr, old_buffer); - png_ptr->save_buffer_max = new_max; + else + { + png_memcpy(png_ptr->save_buffer, old_buffer, png_ptr->save_buffer_size); + png_free(png_ptr, old_buffer); + png_ptr->save_buffer_max = new_max; + } } if (png_ptr->current_buffer_size) { |