From c7432db9577af77cc46be34c7c0e4bcc91e0eac7 Mon Sep 17 00:00:00 2001 From: Iris <58442094+sleepyStick@users.noreply.github.com> Date: Thu, 6 Jul 2023 08:51:41 -0700 Subject: [PATCH] PYTHON-3798 add error checking and visit for _type_marker_str (#1291) --- bson/_cbsonmodule.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bson/_cbsonmodule.c b/bson/_cbsonmodule.c index 5918a678c6..760b58ef49 100644 --- a/bson/_cbsonmodule.c +++ b/bson/_cbsonmodule.c @@ -469,7 +469,9 @@ static int _load_python_objects(PyObject* module) { struct module_state *state = GETSTATE(module); /* Python str for faster _type_marker check */ - state->_type_marker_str = PyUnicode_FromString("_type_marker"); + if (!(state->_type_marker_str = PyUnicode_FromString("_type_marker"))) { + return 1; + } if (_load_object(&state->Binary, "bson.binary", "Binary") || _load_object(&state->Code, "bson.code", "Code") || @@ -3043,6 +3045,7 @@ static int _cbson_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(GETSTATE(m)->MaxKey); Py_VISIT(GETSTATE(m)->UTC); Py_VISIT(GETSTATE(m)->REType); + Py_VISIT(GETSTATE(m)->_type_marker_str); return 0; }