From 7ace9f2b7b8fa01801cd59cee86bd88713dc5ba3 Mon Sep 17 00:00:00 2001
From: Ranjith Manickam <ranji3886@gmail.com>
Date: Wed, 8 Apr 2020 20:59:24 +0530
Subject: [PATCH] changes to support single-sign-on (sso)

---
 .../session/model/SingleSignOnEntry.java      | 24 ++++++++++---------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/src/main/java/tomcat/request/session/model/SingleSignOnEntry.java b/src/main/java/tomcat/request/session/model/SingleSignOnEntry.java
index 5f5fcde..d4e1d66 100644
--- a/src/main/java/tomcat/request/session/model/SingleSignOnEntry.java
+++ b/src/main/java/tomcat/request/session/model/SingleSignOnEntry.java
@@ -78,21 +78,23 @@ public class SingleSignOnEntry implements Serializable {
     }
 
     public void writeObjectData(ObjectOutputStream out) throws IOException {
-        ObjectOutputStream outputStream = new ObjectOutputStream(out);
-        if (this.principal instanceof Serializable) {
-            outputStream.writeBoolean(true);
-            outputStream.writeObject(this.principal);
-        } else {
-            outputStream.writeBoolean(false);
+        try (ObjectOutputStream outputStream = new ObjectOutputStream(out)) {
+            if (this.principal instanceof Serializable) {
+                outputStream.writeBoolean(true);
+                outputStream.writeObject(this.principal);
+            } else {
+                outputStream.writeBoolean(false);
+            }
+            outputStream.flush();
         }
-        outputStream.flush();
     }
 
     public void readObjectData(ObjectInputStream in) throws IOException, ClassNotFoundException {
-        ObjectInputStream inputStream = new ObjectInputStream(in);
-        boolean hasPrincipal = inputStream.readBoolean();
-        if (hasPrincipal) {
-            this.principal = (Principal) inputStream.readObject();
+        try (ObjectInputStream inputStream = new ObjectInputStream(in)) {
+            boolean hasPrincipal = inputStream.readBoolean();
+            if (hasPrincipal) {
+                this.principal = (Principal) inputStream.readObject();
+            }
         }
     }
 }