-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
Closed
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-crashA hard crash of the interpreter, possibly with a core dumpA hard crash of the interpreter, possibly with a core dump
Description
Crash report
Code says that it cannot fail:
cpython/Objects/bytearrayobject.c
Lines 44 to 56 in 4cd1076
static int | |
bytearray_getbuffer(PyObject *self, Py_buffer *view, int flags) | |
{ | |
PyByteArrayObject *obj = _PyByteArray_CAST(self); | |
if (view == NULL) { | |
PyErr_SetString(PyExc_BufferError, | |
"bytearray_getbuffer: view==NULL argument is obsolete"); | |
return -1; | |
} | |
void *ptr = (void *) PyByteArray_AS_STRING(obj); | |
/* cannot fail if view != NULL and readonly == 0 */ | |
(void)PyBuffer_FillInfo(view, (PyObject*)obj, ptr, Py_SIZE(obj), 0, flags); |
But, it can:
Lines 770 to 774 in 4cd1076
if (flags != PyBUF_SIMPLE) { /* fast path */ | |
if (flags == PyBUF_READ || flags == PyBUF_WRITE) { | |
PyErr_BadInternalCall(); | |
return -1; | |
} |
I have a PR ready.
Linked PRs
Metadata
Metadata
Assignees
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-crashA hard crash of the interpreter, possibly with a core dumpA hard crash of the interpreter, possibly with a core dump