Index: third_party/libpng/pngpread.c |
diff --git a/third_party/libpng/pngpread.c b/third_party/libpng/pngpread.c |
index 5af209d4d533be5c16288161829c4379379c8f84..419995eab9fc7ab04aa9bbc90e9122b3f514bcd0 100644 |
--- a/third_party/libpng/pngpread.c |
+++ b/third_party/libpng/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) |
{ |