bpo-42099: Fix reference to ob_type in unionobject.c and ceval (GH-22829)
* Use Py_TYPE() rather than o->ob_type.
diff --git a/Python/ceval.c b/Python/ceval.c
index 7338be5..13b209f 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -3193,7 +3193,7 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, PyFrameObject *f, int throwflag)
descr = _PyType_Lookup(type, name);
if (descr == NULL ||
- descr->ob_type->tp_descr_get == NULL ||
+ Py_TYPE(descr)->tp_descr_get == NULL ||
!PyDescr_IsData(descr))
{
dictptr = (PyObject **) ((char *)owner + type->tp_dictoffset);