diff --git a/src/share/classes/java/util/concurrent/PriorityBlockingQueue.java b/src/share/classes/java/util/concurrent/PriorityBlockingQueue.java index db888250c10471047e20a09799a0eb9918f283a9..d124a3ea9e5934508a11135e724244481feb0e83 100644 --- a/src/share/classes/java/util/concurrent/PriorityBlockingQueue.java +++ b/src/share/classes/java/util/concurrent/PriorityBlockingQueue.java @@ -48,6 +48,7 @@ import java.util.Queue; import java.util.SortedSet; import java.util.Spliterator; import java.util.function.Consumer; +import sun.misc.SharedSecrets; /** * An unbounded {@linkplain BlockingQueue blocking queue} that uses @@ -940,7 +941,9 @@ public class PriorityBlockingQueue extends AbstractQueue throws java.io.IOException, ClassNotFoundException { try { s.defaultReadObject(); - this.queue = new Object[q.size()]; + int sz = q.size(); + SharedSecrets.getJavaOISAccess().checkArray(s, Object[].class, sz); + this.queue = new Object[sz]; comparator = q.comparator(); addAll(q); } finally {