From 36c82b5d183f2f3d2eadf29a303bc773a4fec56b Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sat, 2 Feb 2013 01:36:53 -0500 Subject: [PATCH] Resource leak fix, also cleanup. --- audio/mixer.cpp | 2 +- ext/etcpack/etctool.cpp | 3 ++- ext/stb_image/stb_image.c | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/audio/mixer.cpp b/audio/mixer.cpp index c918fcd30a..de19807f4b 100644 --- a/audio/mixer.cpp +++ b/audio/mixer.cpp @@ -183,7 +183,7 @@ void mixer_mix(Mixer *mixer, short *buffer, int num_samples) { // TODO: NEONize. Can also make special loops for left_volume == right_volume etc. for (int s = 0; s < cnt; s++) { int cdata = clip->data[chan->pos]; - buffer[s * 2 ] += cdata * left_volume >> 8; + buffer[s * 2 + 0] += cdata * left_volume >> 8; buffer[s * 2 + 1] += cdata * right_volume >> 8; chan->pos++; } diff --git a/ext/etcpack/etctool.cpp b/ext/etcpack/etctool.cpp index 3e1fff9832..dbe7af8e04 100644 --- a/ext/etcpack/etctool.cpp +++ b/ext/etcpack/etctool.cpp @@ -728,7 +728,7 @@ double calculatePSNRfile(char *srcfile, uint8 *origimg) int active_width; int active_height; int format; - f=fopen(srcfile,"rb"); + f=fopen(srcfile,"rb"); if(f) { if(ktx_mode) @@ -847,6 +847,7 @@ double calculatePSNRfile(char *srcfile, uint8 *origimg) wPSNR = (float)(10*log((double)((255*255)/wMSE))/log((double)10)); printf("Perceptually weighted PSNR = (%f)\n",wPSNR); + fclose(f); free(img); return PSNR; } diff --git a/ext/stb_image/stb_image.c b/ext/stb_image/stb_image.c index 062e32fa8e..98aca5d85a 100644 --- a/ext/stb_image/stb_image.c +++ b/ext/stb_image/stb_image.c @@ -3032,7 +3032,10 @@ static stbi_uc *tga_load(stbi *s, int *x, int *y, int *comp, int req_comp) skip(s, tga_palette_start ); // load the palette tga_palette = (unsigned char*)malloc( tga_palette_len * tga_palette_bits / 8 ); - if (!tga_palette) return epuc("outofmem", "Out of memory"); + if (!tga_palette) { + free(tga_data); + return epuc("outofmem", "Out of memory"); + } if (!getn(s, tga_palette, tga_palette_len * tga_palette_bits / 8 )) { free(tga_data); free(tga_palette);