From 44b37afa94f2aa6dc575835ac508ed214f6b983a Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Fri, 31 Jul 2026 17:03:13 +0000
Subject: [PATCH] Fix CodeQL warning-severity alerts: process stream ownership and two leaks (#799)

---
 opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/InstallerHelper.java |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/InstallerHelper.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/InstallerHelper.java
index 7f6b80a..49c38ae 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/InstallerHelper.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/InstallerHelper.java
@@ -33,7 +33,6 @@
 import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
-import java.io.InputStreamReader;
 import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -152,8 +151,7 @@
     try
     {
       process = processBuilder.start();
-      final BufferedReader err = new BufferedReader(new InputStreamReader(process.getErrorStream()));
-      new OutputReader(err)
+      new OutputReader(process.getErrorStream())
       {
         @Override
         public void processLine(final String line)
@@ -164,8 +162,7 @@
         }
       }.start();
 
-      final BufferedReader out = new BufferedReader(new InputStreamReader(process.getInputStream()));
-      new OutputReader(out)
+      new OutputReader(process.getInputStream())
       {
         @Override
         public void processLine(final String line)
@@ -182,8 +179,10 @@
     {
       if (process != null)
       {
-        closeProcessStream(process.getErrorStream(), "error");
-        closeProcessStream(process.getOutputStream(), "output");
+        // The error and output streams of the process are owned by the readers started above,
+        // which close them once drained. Only the stream writing to the standard input of the
+        // process, which is never used here, is left to close.
+        closeProcessStream(process.getOutputStream(), "input");
       }
     }
   }

--
Gitblit v1.10.0