[PATCH b4 v2 31/44] review: close the tracking database when archiving fails

Christian Brauner <[email protected]> Fri, 31 Jul 2026 23:59:12 +0200
Newsgroups org.kernel.linux.tools
Message-ID <20260731-work-b4-editor-branch-guard-v2-31-243fd19d322d@kernel.org>
Same leak as the auto-mark block: the connection is closed in the last
statement of the try, so a raising update_series_status() skips the
close. Close it in a finally.

Signed-off-by: Christian Brauner (Amutable) <[email protected]>
---
 src/b4/review/_review.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/b4/review/_review.py b/src/b4/review/_review.py
index 06595fa..c3aa8e9 100644
--- a/src/b4/review/_review.py
+++ b/src/b4/review/_review.py
@@ -875,14 +875,17 @@ def archive_series(
             return False, err
 
     # Update tracking database
+    conn = None
     try:
         conn = b4.review.tracking.get_db(identifier)
         b4.review.tracking.update_series_status(
             conn, change_id, 'archived', revision=revision
         )
-        conn.close()
     except Exception as ex:
         return False, f'DB error: {ex}'
+    finally:
+        if conn is not None:
+            conn.close()
 
     # Mark as archived in Patchwork.  The local archive is already done and
     # cannot be retried, so a Patchwork hiccup is a warning, not a failure.

-- 
2.53.0