summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorweitan <weitan@codeaurora.org>2016-08-01 17:06:50 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2016-09-08 02:28:07 -0700
commit5e0bb5994a8a1f930bc91b7273ed4053fcdafd3c (patch)
tree8e7777667e46a9c2cfa7f65f5a24185e676ee085
parent41d601b94131b0170dd93324d669b9fd2a7fb8a7 (diff)
downloadandroid_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.java9
-rwxr-xr-x[-rw-r--r--]emailcommon/src/com/android/emailcommon/utility/Utility.java3
-rwxr-xr-x[-rw-r--r--]src/com/android/email/mail/transport/SmtpSender.java7
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);
+ }
+ }
}
/**