From c5ebc792d6f786a6dd46eafdc7895faa5cb9259a Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Mon, 29 Apr 2013 12:26:33 -0700 Subject: [PATCH] Avoid leaking AssetFileDescriptor. Change-Id: Iac388c8aefc684980cb4c7131fb47319f6073eb3 --- .../inputmethod/latin/BinaryDictionaryGetter.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java index ddd72f18e..05c91a6ef 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java @@ -95,8 +95,16 @@ final class BinaryDictionaryGetter { + fallbackResId); return null; } - return AssetFileAddress.makeFromFileNameAndOffset( - context.getApplicationInfo().sourceDir, afd.getStartOffset(), afd.getLength()); + try { + return AssetFileAddress.makeFromFileNameAndOffset( + context.getApplicationInfo().sourceDir, afd.getStartOffset(), afd.getLength()); + } finally { + try { + afd.close(); + } catch (IOException e) { + // Ignored + } + } } private static final class DictPackSettings {