From 339120d5404b6b04ff060cc21ade0ec8302f902c Mon Sep 17 00:00:00 2001
From: Fredrik Roubert <fredrik@roubert.name>
Date: Sat, 18 Feb 2023 18:27:29 +0100
Subject: [PATCH] ITS#4501 Replace use of deprecated class
 StringBufferInputStream.

JDK 1.1 deprecated class StringBufferInputStream because it does not
properly convert characters into bytes.
---
 src/com/octetstring/jdbcLdap/sql/LdapResultSet.java | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/com/octetstring/jdbcLdap/sql/LdapResultSet.java b/src/com/octetstring/jdbcLdap/sql/LdapResultSet.java
index ba4c4d4..cb02951 100644
--- a/src/com/octetstring/jdbcLdap/sql/LdapResultSet.java
+++ b/src/com/octetstring/jdbcLdap/sql/LdapResultSet.java
@@ -28,6 +28,7 @@ import java.io.*;
 import java.util.*;
 import java.net.*;
 import java.math.BigDecimal;
+import java.nio.charset.StandardCharsets;
 
 /**
  *Stores the result from a query
@@ -183,12 +184,12 @@ public class LdapResultSet implements java.sql.ResultSet {
 
 	public java.io.InputStream getAsciiStream(int param)
 		throws java.sql.SQLException {
-		return new StringBufferInputStream(getByNum(param));
+		return new ByteArrayInputStream(getByNum(param).getBytes(StandardCharsets.US_ASCII));
 	}
 
 	public java.io.InputStream getAsciiStream(java.lang.String str)
 		throws java.sql.SQLException {
-		return new StringBufferInputStream(getByName(str));
+		return new ByteArrayInputStream(getByName(str).getBytes(StandardCharsets.US_ASCII));
 	}
 
 	public java.math.BigDecimal getBigDecimal(int param)
@@ -479,12 +480,12 @@ public class LdapResultSet implements java.sql.ResultSet {
 
 	public java.io.InputStream getUnicodeStream(int param)
 		throws java.sql.SQLException {
-		return new StringBufferInputStream(getByNum(param));
+		return new ByteArrayInputStream(getByNum(param).getBytes(StandardCharsets.UTF_8));
 	}
 
 	public java.io.InputStream getUnicodeStream(java.lang.String str)
 		throws java.sql.SQLException {
-		return new StringBufferInputStream(getByName(str));
+		return new ByteArrayInputStream(getByName(str).getBytes(StandardCharsets.UTF_8));
 	}
 
 	public java.sql.SQLWarning getWarnings() throws java.sql.SQLException {
-- 
GitLab