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/quicksetup/util/ServerController.java |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/ServerController.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/ServerController.java
index 6c2189d..3a7d24f 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/ServerController.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/ServerController.java
@@ -561,8 +561,9 @@
       Thread t = new Thread(new Runnable() {
         @Override
         public void run() {
-          try {
-            String line = reader.readLine();
+          // The reader is owned by this thread, which closes it once the stream is drained.
+          try (BufferedReader in = reader) {
+            String line = in.readLine();
             while (line != null) {
               if (application != null) {
                 LocalizableMessageBuilder buf = new LocalizableMessageBuilder();
@@ -581,7 +582,7 @@
                 isFirstLine = false;
               }
               logger.info(LocalizableMessage.raw("server: " + line));
-              line = reader.readLine();
+              line = in.readLine();
             }
           } catch (Throwable t) {
             if (application != null) {
@@ -646,9 +647,10 @@
         @Override
         public void run()
         {
-          try
+          // The reader is owned by this thread, which closes it once the stream is drained.
+          try (BufferedReader in = reader)
           {
-            String line = reader.readLine();
+            String line = in.readLine();
             while (line != null)
             {
               if (application != null) {
@@ -676,7 +678,7 @@
                 isFinished = true;
                 startedIdFound = true;
               }
-              line = reader.readLine();
+              line = in.readLine();
             }
           } catch (Throwable t)
           {

--
Gitblit v1.10.0