GUAC-1378: Ensure HTML patch resources are closed after reading.

Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/c430e6a3
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/c430e6a3
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/c430e6a3

Branch: refs/heads/master
Commit: c430e6a33360016f7aea3b7afd136069e435d52d
Parents: 98af1e3
Author: Michael Jumper <[email protected]>
Authored: Sat Feb 20 19:24:00 2016 -0800
Committer: Michael Jumper <[email protected]>
Committed: Sat Feb 20 19:24:00 2016 -0800

----------------------------------------------------------------------
 .../net/basic/rest/patch/PatchRESTService.java   | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c430e6a3/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/patch/PatchRESTService.java
----------------------------------------------------------------------
diff --git 
a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/patch/PatchRESTService.java
 
b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/patch/PatchRESTService.java
index f0de9b6..028c34a 100644
--- 
a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/patch/PatchRESTService.java
+++ 
b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/patch/PatchRESTService.java
@@ -70,13 +70,22 @@ public class PatchRESTService {
 
         StringBuilder contents = new StringBuilder();
 
-        char buffer[] = new char[8192];
-        int length;
-
         // Read entire resource into StringBuilder one chunk at a time
         Reader reader = new InputStreamReader(resource.asStream(), "UTF-8");
-        while ((length = reader.read(buffer)) != -1) {
-            contents.append(buffer, 0, length);
+        try {
+
+            char buffer[] = new char[8192];
+            int length;
+
+            while ((length = reader.read(buffer)) != -1) {
+                contents.append(buffer, 0, length);
+            }
+
+        }
+
+        // Ensure resource is always closed
+        finally {
+            reader.close();
         }
 
         return contents.toString();

Reply via email to