From c9c88166beaa21524ad7f31e1b15bee5d711b0c7 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 10 Jul 2026 18:28:28 +0100 Subject: Fix reference counting in _jq_error_to_py_string() --- jq.pyx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/jq.pyx b/jq.pyx index 755aba5..6c21b57 100644 --- a/jq.pyx +++ b/jq.pyx @@ -225,7 +225,9 @@ cdef void _store_error(void* store_ptr, jv error) noexcept: cdef unicode _jq_error_to_py_string(jv error) noexcept: - error = jv_copy(error) + """Convert a jq error into a Python string. + + Does not consume the input error.""" if jv_get_kind(error) == JV_KIND_STRING: try: @@ -233,7 +235,7 @@ cdef unicode _jq_error_to_py_string(jv error) noexcept: except: return u"Internal error" else: - return json.dumps(_jv_to_python(error)) + return json.dumps(_jv_to_python(jv_copy(error))) cdef class _ErrorStore(object): -- cgit v1.2.3