mirror of
https://github.com/python/cpython.git
synced 2025-08-30 13:38:43 +00:00
GH-93911: Fix LOAD_ATTR_PROPERTY
caches (GH-96519)
This commit is contained in:
parent
f177f6f29b
commit
cd0ff9bd14
2 changed files with 7 additions and 5 deletions
|
@ -775,8 +775,10 @@ _Py_Specialize_LoadAttr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name)
|
|||
SPECIALIZATION_FAIL(LOAD_ATTR, SPEC_FAIL_ATTR_PROPERTY_NOT_PY_FUNCTION);
|
||||
goto fail;
|
||||
}
|
||||
uint32_t version = function_check_args(fget, 1, LOAD_ATTR) &&
|
||||
function_get_version(fget, LOAD_ATTR);
|
||||
if (!function_check_args(fget, 1, LOAD_ATTR)) {
|
||||
goto fail;
|
||||
}
|
||||
uint32_t version = function_get_version(fget, LOAD_ATTR);
|
||||
if (version == 0) {
|
||||
goto fail;
|
||||
}
|
||||
|
@ -831,9 +833,7 @@ _Py_Specialize_LoadAttr(PyObject *owner, _Py_CODEUNIT *instr, PyObject *name)
|
|||
assert(type->tp_getattro == _Py_slot_tp_getattro);
|
||||
assert(Py_IS_TYPE(descr, &PyFunction_Type));
|
||||
_PyLoadMethodCache *lm_cache = (_PyLoadMethodCache *)(instr + 1);
|
||||
uint32_t func_version = function_check_args(descr, 2, LOAD_ATTR) &&
|
||||
function_get_version(descr, LOAD_ATTR);
|
||||
if (func_version == 0) {
|
||||
if (!function_check_args(descr, 2, LOAD_ATTR)) {
|
||||
goto fail;
|
||||
}
|
||||
/* borrowed */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue