Skip to content

Commit 07eff87

Browse files
committed
Check for nulls when resizing native storage
1 parent 40cecb3 commit 07eff87

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/common/SequenceStorageNodes.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2986,13 +2986,16 @@ public abstract static class SetNativeLenNode extends Node {
29862986
@InliningCutoff
29872987
static void doShrink(NativeObjectSequenceStorage s, int len,
29882988
@Bind("this") Node inliningTarget,
2989+
@CachedLibrary(limit = "1") InteropLibrary lib,
29892990
@Cached CStructAccess.ReadPointerNode readNode,
29902991
@Cached CExtNodes.DecRefPointerNode decRefPointerNode) {
29912992
if (len < s.length()) {
29922993
// When shrinking, we need to decref the items that are now past the end
29932994
for (int i = len; i < s.length(); i++) {
29942995
Object elementPointer = readNode.readArrayElement(s.getPtr(), i);
2995-
decRefPointerNode.execute(inliningTarget, elementPointer);
2996+
if (!lib.isNull(elementPointer)) {
2997+
decRefPointerNode.execute(inliningTarget, elementPointer);
2998+
}
29962999
}
29973000
}
29983001
s.setNewLength(len);

0 commit comments

Comments
 (0)