Fix memory leak in the colorspace emulation code
This commit is contained in:
@@ -639,7 +639,7 @@ DLLEXPORT int DLLCALL tjCompress2(tjhandle handle, unsigned char *srcBuf,
|
|||||||
bailout:
|
bailout:
|
||||||
if(cinfo->global_state>CSTATE_START) jpeg_abort_compress(cinfo);
|
if(cinfo->global_state>CSTATE_START) jpeg_abort_compress(cinfo);
|
||||||
#ifndef JCS_EXTENSIONS
|
#ifndef JCS_EXTENSIONS
|
||||||
if(rgbBuf && rgbBuf!=srcBuf) free(rgbBuf);
|
if(rgbBuf) free(rgbBuf);
|
||||||
#endif
|
#endif
|
||||||
if(row_pointer) free(row_pointer);
|
if(row_pointer) free(row_pointer);
|
||||||
return retval;
|
return retval;
|
||||||
@@ -800,7 +800,7 @@ DLLEXPORT int DLLCALL tjEncodeYUV2(tjhandle handle, unsigned char *srcBuf,
|
|||||||
bailout:
|
bailout:
|
||||||
if(cinfo->global_state>CSTATE_START) jpeg_abort_compress(cinfo);
|
if(cinfo->global_state>CSTATE_START) jpeg_abort_compress(cinfo);
|
||||||
#ifndef JCS_EXTENSIONS
|
#ifndef JCS_EXTENSIONS
|
||||||
if(rgbBuf && rgbBuf!=srcBuf) free(rgbBuf);
|
if(rgbBuf) free(rgbBuf);
|
||||||
#endif
|
#endif
|
||||||
if(row_pointer) free(row_pointer);
|
if(row_pointer) free(row_pointer);
|
||||||
for(i=0; i<MAX_COMPONENTS; i++)
|
for(i=0; i<MAX_COMPONENTS; i++)
|
||||||
@@ -1018,7 +1018,7 @@ DLLEXPORT int DLLCALL tjDecompress2(tjhandle handle, unsigned char *jpegBuf,
|
|||||||
bailout:
|
bailout:
|
||||||
if(dinfo->global_state>DSTATE_START) jpeg_abort_decompress(dinfo);
|
if(dinfo->global_state>DSTATE_START) jpeg_abort_decompress(dinfo);
|
||||||
#ifndef JCS_EXTENSIONS
|
#ifndef JCS_EXTENSIONS
|
||||||
if(rgbBuf && rgbBuf!=dstBuf) free(rgbBuf);
|
if(rgbBuf) free(rgbBuf);
|
||||||
#endif
|
#endif
|
||||||
if(row_pointer) free(row_pointer);
|
if(row_pointer) free(row_pointer);
|
||||||
return retval;
|
return retval;
|
||||||
|
|||||||
Reference in New Issue
Block a user