From 0885d16ac22a0ecd2267bf3c8818a3a8a5a9dadb Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Fri, 31 Jul 2026 07:48:54 +0000
Subject: [PATCH] Fix CodeQL warning-severity alerts: missed wakeups, resource leaks, escaping threads (#790)

---
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java
index 31cbb71..77a35ef 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java
@@ -12,6 +12,7 @@
  * information: "Portions Copyright [year] [name of copyright owner]".
  *
  * Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.replication.server.changelog.file;
 
@@ -112,8 +113,18 @@
     if (isWriteEnabled)
     {
       ensureLogFileIsValid(parser);
-      writer = BlockLogWriter.newWriter(new LogWriter(logfile), parser);
-      initializeNewestRecord();
+      final LogWriter logWriter = new LogWriter(logfile);
+      try
+      {
+        writer = BlockLogWriter.newWriter(logWriter, parser);
+        initializeNewestRecord();
+      }
+      catch (ChangelogException | RuntimeException e)
+      {
+        // The writer is not reachable from a half-constructed log file, so close it here.
+        StaticUtils.close(logWriter);
+        throw e;
+      }
     }
     else
     {

--
Gitblit v1.10.0