Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita640a60

Browse files
authored
gh-121652: Handleallocate_weakref returning NULL (#121653)
The `allocate_weakref` may return NULL when out of memory. We need tohandle that case and propagate the error.
1 parenta183474 commita640a60

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

‎Objects/weakrefobject.c‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,13 +426,20 @@ get_or_create_weakref(PyTypeObject *type, PyObject *obj, PyObject *callback)
426426
returnbasic_ref;
427427
}
428428
PyWeakReference*newref=allocate_weakref(type,obj,callback);
429+
if (newref==NULL) {
430+
UNLOCK_WEAKREFS(obj);
431+
returnNULL;
432+
}
429433
insert_weakref(newref,list);
430434
UNLOCK_WEAKREFS(obj);
431435
returnnewref;
432436
}
433437
else {
434438
// We may not be able to safely allocate inside the lock
435439
PyWeakReference*newref=allocate_weakref(type,obj,callback);
440+
if (newref==NULL) {
441+
returnNULL;
442+
}
436443
LOCK_WEAKREFS(obj);
437444
insert_weakref(newref,list);
438445
UNLOCK_WEAKREFS(obj);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp