diff --git a/src/openrct2/CmdlineSprite.cpp b/src/openrct2/CmdlineSprite.cpp index 140015265f..428404410f 100644 --- a/src/openrct2/CmdlineSprite.cpp +++ b/src/openrct2/CmdlineSprite.cpp @@ -222,7 +222,8 @@ static bool sprite_file_export(int32_t spriteIndex, const char* outPath) spriteHeader = &spriteFileEntries[spriteIndex]; pixelBufferSize = spriteHeader->width * spriteHeader->height; - pixels = (uint8_t*)malloc(pixelBufferSize); + std::unique_ptr pixelBuffer(new uint8_t[pixelBufferSize]); + pixels = pixelBuffer.get(); std::fill_n(pixels, pixelBufferSize, 0x00); dpi.bits = pixels; diff --git a/src/openrct2/core/Imaging.cpp b/src/openrct2/core/Imaging.cpp index 18b676fdd0..cefc948edb 100644 --- a/src/openrct2/core/Imaging.cpp +++ b/src/openrct2/core/Imaging.cpp @@ -232,6 +232,7 @@ namespace Imaging } png_write_end(png_ptr, nullptr); + png_destroy_info_struct(png_ptr, &info_ptr); png_free(png_ptr, png_palette); png_destroy_write_struct(&png_ptr, nullptr); }