# HG changeset patch # User Andrew John Hughes # Date 1366367898 -3600 # Node ID b7490b3606ece01e5a11089b96edc8f86eab18fb # Parent 2e7ef54df229575caf80652ede0b5444e5abf57e Fix patch to apply on RHEL 5. 2013-04-19 Jiri Vanek * patches/security/20130416/8007667.patch: Fix patch format to apply on RHEL 5. diff -r 2e7ef54df229 -r b7490b3606ec ChangeLog --- a/ChangeLog Thu Apr 18 16:20:55 2013 -0400 +++ b/ChangeLog Fri Apr 19 11:38:18 2013 +0100 @@ -1,3 +1,8 @@ +2013-04-19 Jiri Vanek + + * patches/security/20130416/8007667.patch: + Fix patch format to apply on RHEL 5. + 2013-04-18 Elliott Baron * Makefile.am: diff -r 2e7ef54df229 -r b7490b3606ec patches/security/20130416/8007667.patch --- a/patches/security/20130416/8007667.patch Thu Apr 18 16:20:55 2013 -0400 +++ b/patches/security/20130416/8007667.patch Fri Apr 19 11:38:18 2013 +0100 @@ -9,12 +9,16 @@ diff --git openjdk/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java openjdk/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java --- openjdk/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java +++ openjdk/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java -@@ -238,12 +238,17 @@ public class JPEGImageReader extends Ima +@@ -281,12 +281,17 @@ * sending warnings to listeners. */ protected void warningOccurred(int code) { - if ((code < 0) || (code > MAX_WARNING)){ - throw new InternalError("Invalid warning index"); +- } +- processWarningOccurred +- ("com.sun.imageio.plugins.jpeg.JPEGImageReaderResources", +- Integer.toString(code)); + cbLock.lock(); + try { + if ((code < 0) || (code > MAX_WARNING)){ @@ -25,14 +29,11 @@ + Integer.toString(code)); + } finally { + cbLock.unlock(); - } -- processWarningOccurred -- ("com.sun.imageio.plugins.jpeg.JPEGImageReaderResources", -- Integer.toString(code)); ++ } } /** -@@ -260,7 +265,12 @@ public class JPEGImageReader extends Ima +@@ -303,7 +308,12 @@ * library warnings from being printed to stderr. */ protected void warningWithMessage(String msg) { @@ -46,7 +47,7 @@ } public void setInput(Object input, -@@ -269,18 +279,55 @@ public class JPEGImageReader extends Ima +@@ -312,18 +322,55 @@ { setThreadLock(); try { @@ -105,7 +106,7 @@ private void checkTablesOnly() throws IOException { if (debug) { -@@ -332,6 +379,8 @@ public class JPEGImageReader extends Ima +@@ -375,6 +422,8 @@ public int getNumImages(boolean allowSearch) throws IOException { setThreadLock(); try { // locked thread @@ -114,7 +115,7 @@ return getNumImagesOnThread(allowSearch); } finally { clearThreadLock(); -@@ -531,8 +580,13 @@ public class JPEGImageReader extends Ima +@@ -574,8 +623,13 @@ if (debug) { System.out.println("pushing back " + num + " bytes"); } @@ -130,7 +131,7 @@ } /** -@@ -639,7 +693,12 @@ public class JPEGImageReader extends Ima +@@ -645,7 +699,12 @@ * Ignore this profile. */ iccCS = null; @@ -141,10 +142,10 @@ + } finally { + cbLock.unlock(); + } - + return; } -@@ -648,6 +707,7 @@ public class JPEGImageReader extends Ima +@@ -680,6 +739,7 @@ setThreadLock(); try { if (currentImage != imageIndex) { @@ -152,7 +153,7 @@ readHeader(imageIndex, true); } return width; -@@ -660,6 +720,7 @@ public class JPEGImageReader extends Ima +@@ -692,6 +752,7 @@ setThreadLock(); try { if (currentImage != imageIndex) { @@ -160,7 +161,7 @@ readHeader(imageIndex, true); } return height; -@@ -688,6 +749,8 @@ public class JPEGImageReader extends Ima +@@ -720,6 +781,8 @@ setThreadLock(); try { if (currentImage != imageIndex) { @@ -169,7 +170,7 @@ readHeader(imageIndex, true); } -@@ -711,6 +774,7 @@ public class JPEGImageReader extends Ima +@@ -743,6 +806,7 @@ private Iterator getImageTypesOnThread(int imageIndex) throws IOException { if (currentImage != imageIndex) { @@ -177,7 +178,7 @@ readHeader(imageIndex, true); } -@@ -926,6 +990,7 @@ public class JPEGImageReader extends Ima +@@ -944,6 +1008,7 @@ setThreadLock(); try { if (!tablesOnlyChecked) { @@ -185,7 +186,7 @@ checkTablesOnly(); } return streamMetadata; -@@ -946,6 +1011,8 @@ public class JPEGImageReader extends Ima +@@ -964,6 +1029,8 @@ return imageMetadata; } @@ -194,7 +195,7 @@ gotoImage(imageIndex); imageMetadata = new JPEGMetadata(false, false, iis, this); -@@ -962,6 +1029,7 @@ public class JPEGImageReader extends Ima +@@ -980,6 +1047,7 @@ throws IOException { setThreadLock(); try { @@ -202,7 +203,7 @@ try { readInternal(imageIndex, param, false); } catch (RuntimeException e) { -@@ -1191,58 +1259,63 @@ public class JPEGImageReader extends Ima +@@ -1209,58 +1277,63 @@ } target.setRect(destROI.x, destROI.y + y, raster); @@ -309,13 +310,14 @@ } - } else { - processImageProgress(percentOfPass * 100.0F); - } +- } ++ } + } finally { + cbLock.unlock(); } } -@@ -1255,33 +1328,58 @@ public class JPEGImageReader extends Ima +@@ -1273,33 +1346,58 @@ } private void passStarted (int pass) { @@ -387,7 +389,7 @@ } /** -@@ -1305,6 +1403,11 @@ public class JPEGImageReader extends Ima +@@ -1323,6 +1421,11 @@ public void abort() { setThreadLock(); try { @@ -399,7 +401,7 @@ super.abort(); abortRead(structPointer); } finally { -@@ -1327,6 +1430,7 @@ public class JPEGImageReader extends Ima +@@ -1345,6 +1448,7 @@ setThreadLock(); Raster retval = null; try { @@ -407,7 +409,7 @@ /* * This could be further optimized by not resetting the dest. * offset and creating a translated raster in readInternal() -@@ -1366,6 +1470,8 @@ public class JPEGImageReader extends Ima +@@ -1384,6 +1488,8 @@ public int getNumThumbnails(int imageIndex) throws IOException { setThreadLock(); try { @@ -416,7 +418,7 @@ getImageMetadata(imageIndex); // checks iis state for us // Now check the jfif segments JFIFMarkerSegment jfif = -@@ -1386,6 +1492,8 @@ public class JPEGImageReader extends Ima +@@ -1404,6 +1510,8 @@ throws IOException { setThreadLock(); try { @@ -425,7 +427,7 @@ if ((thumbnailIndex < 0) || (thumbnailIndex >= getNumThumbnails(imageIndex))) { throw new IndexOutOfBoundsException("No such thumbnail"); -@@ -1404,6 +1512,8 @@ public class JPEGImageReader extends Ima +@@ -1422,6 +1530,8 @@ throws IOException { setThreadLock(); try { @@ -434,7 +436,7 @@ if ((thumbnailIndex < 0) || (thumbnailIndex >= getNumThumbnails(imageIndex))) { throw new IndexOutOfBoundsException("No such thumbnail"); -@@ -1423,6 +1533,8 @@ public class JPEGImageReader extends Ima +@@ -1441,6 +1551,8 @@ throws IOException { setThreadLock(); try { @@ -443,7 +445,7 @@ if ((thumbnailIndex < 0) || (thumbnailIndex >= getNumThumbnails(imageIndex))) { throw new IndexOutOfBoundsException("No such thumbnail"); -@@ -1463,6 +1575,7 @@ public class JPEGImageReader extends Ima +@@ -1481,6 +1593,7 @@ public void reset() { setThreadLock(); try { @@ -451,7 +453,7 @@ super.reset(); } finally { clearThreadLock(); -@@ -1474,6 +1587,8 @@ public class JPEGImageReader extends Ima +@@ -1492,6 +1605,8 @@ public void dispose() { setThreadLock(); try { @@ -460,12 +462,10 @@ if (structPointer != 0) { disposerRecord.dispose(); structPointer = 0; -@@ -1533,6 +1648,36 @@ public class JPEGImageReader extends Ima - theLockCount --; - if (theLockCount == 0) { +@@ -1553,4 +1668,34 @@ theThread = null; -+ } -+ } + } + } + + private CallBackLock cbLock = new CallBackLock(); + @@ -494,8 +494,8 @@ + private static enum State { + Unlocked, + Locked - } - } ++ } ++ } } diff --git openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c --- openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c