added free and tjDestory to failures of decompress funcs

This commit is contained in:
NightlyFox 2018-09-29 21:28:08 -05:00
parent 2675f2cbba
commit ad05919126

View File

@ -332,11 +332,19 @@ void menuEntryParseIcon(menuEntry_s* me) {
tjhandle _jpegDecompressor = tjInitDecompress();
if(tjDecompressHeader2(_jpegDecompressor, me->icon, me->icon_size, &w, &h, &samp)==-1) return;
if(tjDecompressHeader2(_jpegDecompressor, me->icon, me->icon_size, &w, &h, &samp)==-1) {
free(me->icon_gfx);
tjDestroy(_jpegDecompressor);
return;
}
if (w != 256 || h != 256 ) return;
if(tjDecompress2(_jpegDecompressor, me->icon, me->icon_size, me->icon_gfx, w, 0/*pitch*/, h, TJPF_RGB, TJFLAG_ACCURATEDCT)==-1) return;
if(tjDecompress2(_jpegDecompressor, me->icon, me->icon_size, me->icon_gfx, w, 0, h, TJPF_RGB, TJFLAG_ACCURATEDCT)==-1) {
free(me->icon_gfx);
tjDestroy(_jpegDecompressor);
return;
}
me->icon_size = 0;
free(me->icon);