-
-
Notifications
You must be signed in to change notification settings - Fork 33.2k
Description
Bug report
Bug description:
In the PyCData_NewGetBuffer()
(file Modules/_ctypes/_ctypes.c
), the PyObject_stgdict()
is called, which may return NULL.
Its result is assigned to dict
, then dict
is dereferenced (view->format = dict->format ? dict->format : "B";
).
If dict
is NULL, a null pointer dereference will occur, so a check for NULL need to be added.
Similarly, in the PyCData_reduce()
(file Modules/_ctypes/_ctypes.c
) PyObject_stgdict(myself)
may return NULL, so need to check result to prevent null pointer dereferencing.
Commit dcaf33a (Author: @encukou) fixes this problems, but it is very large and probably difficult to backport, so I suggest adding assert(dict);
before the dereference.
This needs to be added to branches 3.1 - 3.12.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
CPython versions tested on:
3.12
Operating systems tested on:
Linux