# HG changeset patch # User jgodinez # Date 1360190702 28800 # Node ID 46054ae31dfc69634876963d2aecf0999b3a63e8 # Parent c13b899e2b15f6b5c5ffc63fab5659ed77c81076 8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() Reviewed-by: prr, vadim Contributed-by: jia-hong.chen@oracle.com diff -r c13b899e2b15 -r 46054ae31dfc jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c --- a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c Mon Feb 04 12:04:38 2013 -0800 +++ b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c Wed Feb 06 14:45:02 2013 -0800 @@ -2694,6 +2694,11 @@ scale[i] = (UINT8*) malloc((maxBandValue + 1) * sizeof(UINT8)); if (scale[i] == NULL) { + // Cleanup before throwing an out of memory exception + for (j = 0; j < i; j++) { + free(scale[j]); + } + free(scale); JNU_ThrowByName( env, "java/lang/OutOfMemoryError", "Writing JPEG Stream"); return JNI_FALSE;