From 677b389ccc0011a918b6e075f33a804a7ed128ce Mon Sep 17 00:00:00 2001 From: Matt Tucker Date: Tue, 13 Jul 2004 00:39:30 +0000 Subject: [PATCH] Fixed closing ObjectOutputStream (SMACK-143). git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@2340 b35dd754-fafc-0310-a699-88a17e54d16e --- source/org/jivesoftware/smack/packet/Packet.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/source/org/jivesoftware/smack/packet/Packet.java b/source/org/jivesoftware/smack/packet/Packet.java index 375e393c1..0ede5b9c1 100644 --- a/source/org/jivesoftware/smack/packet/Packet.java +++ b/source/org/jivesoftware/smack/packet/Packet.java @@ -424,16 +424,26 @@ public abstract class Packet { // a binary format, which won't work well inside of XML. Therefore, we base-64 // encode the binary data before adding it. else { + ByteArrayOutputStream byteStream = null; + ObjectOutputStream out = null; try { - ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); - ObjectOutputStream out = new ObjectOutputStream(byteStream); + byteStream = new ByteArrayOutputStream(); + out = new ObjectOutputStream(byteStream); out.writeObject(value); buf.append("java-object\">"); String encodedVal = StringUtils.encodeBase64(byteStream.toByteArray()); buf.append(encodedVal).append(""); } catch (Exception e) { - + e.printStackTrace(); + } + finally { + if (out != null) { + try { out.close(); } catch (Exception e) { } + } + if (byteStream != null) { + try { byteStream.close(); } catch (Exception e) { } + } } } buf.append("");