# HG changeset patch # User redestad # Date 1446032154 -3600 # Node ID d2bfc26f26cc4afc8b804394988180fafa474835 # Parent 1156d495a525ce1307508598be19202af1d833b3 6823565: Excessive use of HandleList class in de-serialization code causes OutOfMemory Reviewed-by: chegar, shade diff -r 1156d495a525 -r d2bfc26f26cc jdk/src/java.base/share/classes/java/io/ObjectInputStream.java --- a/jdk/src/java.base/share/classes/java/io/ObjectInputStream.java Tue Oct 27 20:06:02 2015 -0700 +++ b/jdk/src/java.base/share/classes/java/io/ObjectInputStream.java Wed Oct 28 12:35:54 2015 +0100 @@ -3383,10 +3383,11 @@ * Registers a dependency (in exception status) of one handle on * another. The dependent handle must be "open" (i.e., assigned, but * not finished yet). No action is taken if either dependent or target - * handle is NULL_HANDLE. + * handle is NULL_HANDLE. Additionally, no action is taken if the + * dependent and target are the same. */ void markDependency(int dependent, int target) { - if (dependent == NULL_HANDLE || target == NULL_HANDLE) { + if (dependent == target || dependent == NULL_HANDLE || target == NULL_HANDLE) { return; } switch (status[dependent]) {