diff options
author | weitan <weitan@codeaurora.org> | 2016-08-01 17:06:50 +0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-09-08 02:28:07 -0700 |
commit | 5e0bb5994a8a1f930bc91b7273ed4053fcdafd3c (patch) | |
tree | 8e7777667e46a9c2cfa7f65f5a24185e676ee085 | |
parent | 41d601b94131b0170dd93324d669b9fd2a7fb8a7 (diff) | |
download | android_packages_apps_Email-5e0bb5994a8a1f930bc91b7273ed4053fcdafd3c.tar.gz android_packages_apps_Email-5e0bb5994a8a1f930bc91b7273ed4053fcdafd3c.tar.bz2 android_packages_apps_Email-5e0bb5994a8a1f930bc91b7273ed4053fcdafd3c.zip |
Email: fix some resource leaks under StrictMode
Adding methonds to avoid resource leaks issue
of Explicit termination method 'close' not called
Change-Id: Ic66e9c1beb48122e843537c618b32ceaf788c540
CRs-Fixed: 1036339
-rwxr-xr-x[-rw-r--r--] | emailcommon/src/com/android/emailcommon/internet/Rfc822Output.java | 9 | ||||
-rwxr-xr-x[-rw-r--r--] | emailcommon/src/com/android/emailcommon/utility/Utility.java | 3 | ||||
-rwxr-xr-x[-rw-r--r--] | src/com/android/email/mail/transport/SmtpSender.java | 7 |
3 files changed, 19 insertions, 0 deletions
diff --git a/emailcommon/src/com/android/emailcommon/internet/Rfc822Output.java b/emailcommon/src/com/android/emailcommon/internet/Rfc822Output.java index d7486eec7..d3fbddfd5 100644..100755 --- a/emailcommon/src/com/android/emailcommon/internet/Rfc822Output.java +++ b/emailcommon/src/com/android/emailcommon/internet/Rfc822Output.java @@ -282,6 +282,15 @@ public class Rfc822Output { "when sending attachment"); throw new MessagingException("Invalid attachment.", ioe); } + finally { + try { + if (inStream != null) { + inStream.close(); + } + } catch (IOException e) { + LogUtils.e(TAG, e, "Failed to close stream"); + } + } } /** diff --git a/emailcommon/src/com/android/emailcommon/utility/Utility.java b/emailcommon/src/com/android/emailcommon/utility/Utility.java index 22ee18def..1e38542ad 100644..100755 --- a/emailcommon/src/com/android/emailcommon/utility/Utility.java +++ b/emailcommon/src/com/android/emailcommon/utility/Utility.java @@ -824,6 +824,9 @@ public class Utility { while ((n = gunzip.read(buffer)) >= 0) { out.write(buffer, 0, n); } + if (gunzip != null) { + gunzip.close(); + } return out.toString(); } catch (IOException e) { e.printStackTrace(); diff --git a/src/com/android/email/mail/transport/SmtpSender.java b/src/com/android/email/mail/transport/SmtpSender.java index 060b9ca13..14756d9ef 100644..100755 --- a/src/com/android/email/mail/transport/SmtpSender.java +++ b/src/com/android/email/mail/transport/SmtpSender.java @@ -213,6 +213,13 @@ public class SmtpSender extends Sender { } catch (IOException ioe) { throw new MessagingException("Unable to send message", ioe); } + finally { + try { + close(); + } catch (RuntimeException ioe) { + throw new RuntimeException("DEBUG #Unable to send message", ioe); + } + } } /** |