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/tools/ConfigureWindowsService.java | 68 ++++++++++++++++++----------------
1 files changed, 36 insertions(+), 32 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/ConfigureWindowsService.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/ConfigureWindowsService.java
index e59ccdf..c4fe83f 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/ConfigureWindowsService.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/ConfigureWindowsService.java
@@ -13,6 +13,7 @@
*
* Copyright 2008-2010 Sun Microsystems, Inc.
* Portions Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.opends.server.tools;
@@ -270,25 +271,27 @@
{
String serviceName = null;
Process p = Runtime.getRuntime().exec(cmd);
- BufferedReader stdout = new BufferedReader(new InputStreamReader(p.getInputStream()));
- boolean processDone = false;
- String s;
- while (!processDone)
+ try (BufferedReader stdout = new BufferedReader(new InputStreamReader(p.getInputStream())))
{
- try
+ boolean processDone = false;
+ String s;
+ while (!processDone)
{
- p.exitValue();
- processDone = true;
- }
- catch (Throwable t)
- {
- }
- while ((s = stdout.readLine()) != null)
- {
- serviceName = s;
- if (serviceName.trim().length() == 0)
+ try
{
- serviceName = null;
+ p.exitValue();
+ processDone = true;
+ }
+ catch (Throwable t)
+ {
+ }
+ while ((s = stdout.readLine()) != null)
+ {
+ serviceName = s;
+ if (serviceName.trim().length() == 0)
+ {
+ serviceName = null;
+ }
}
}
}
@@ -608,25 +611,26 @@
{
int resultCode = -1;
Process process = new ProcessBuilder(cmd).start();
- BufferedReader stdout = new BufferedReader(new InputStreamReader(process.getInputStream()));
-
- boolean processDone = false;
- String s;
- while (!processDone)
+ try (BufferedReader stdout = new BufferedReader(new InputStreamReader(process.getInputStream())))
{
- try
+ boolean processDone = false;
+ String s;
+ while (!processDone)
{
- resultCode = process.exitValue();
- processDone = true;
- }
- catch (Throwable t)
- {
- }
- while ((s = stdout.readLine()) != null)
- {
- if (s.trim().length() != 0)
+ try
{
- serviceName = s;
+ resultCode = process.exitValue();
+ processDone = true;
+ }
+ catch (Throwable t)
+ {
+ }
+ while ((s = stdout.readLine()) != null)
+ {
+ if (s.trim().length() != 0)
+ {
+ serviceName = s;
+ }
}
}
}
--
Gitblit v1.10.0