diff --git a/core/file/png.cpp b/core/file/png.cpp index 5a24ce6c36..eb1a23776f 100644 --- a/core/file/png.cpp +++ b/core/file/png.cpp @@ -284,10 +284,10 @@ void Writer::save(uint8_t *data) { const size_t row_bytes = png_get_rowbytes(png_ptr, info_ptr); auto finish = [&](uint8_t *to_write) { - png_bytepp row_pointers = new png_bytep[height]; + std::unique_ptr row_pointers(new png_bytep[height]); for (size_t row = 0; row != height; ++row) row_pointers[row] = to_write + row * row_bytes; - png_write_image(png_ptr, row_pointers); + png_write_image(png_ptr, row_pointers.get()); png_write_end(png_ptr, info_ptr); }; diff --git a/core/image_io/png.cpp b/core/image_io/png.cpp index 8bf758f374..5a7b85e819 100644 --- a/core/image_io/png.cpp +++ b/core/image_io/png.cpp @@ -69,7 +69,7 @@ void PNG::unload(const Header &header) { } } DEBUG("deleting buffer for PNG image \"" + header.name() + "\"..."); - addresses[0].release(); + addresses[0].reset(); } }