From 5ab74b3ab135b3ff0531fd08a68d054d09f29640 Mon Sep 17 00:00:00 2001 From: Michael Kleehammer Date: Tue, 11 Apr 2023 11:24:46 -0500 Subject: [PATCH] Do not allow exceptions in Cursor destructor (#585) --- src/cursor.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cursor.cpp b/src/cursor.cpp index 2b9ba96c..5f3b37ca 100644 --- a/src/cursor.cpp +++ b/src/cursor.cpp @@ -458,6 +458,10 @@ static void Cursor_dealloc(Cursor* cursor) if (Cursor_Validate((PyObject*)cursor, CURSOR_REQUIRE_CNXN)) { closeimpl(cursor); + if (PyErr_Occurred()) { + // We are in a Cursor destructor (__del__) and should not raise exceptions. + PyErr_Clear(); + } } Py_XDECREF(cursor->inputsizes); PyObject_Del(cursor);