From 9547f28464cb5470236c4e8d8d15cc2e4b46f4ed Mon Sep 17 00:00:00 2001 From: harvey_tsai Date: Thu, 11 Jun 2015 11:51:36 +0800 Subject: Fix filedescriptor leakage in MediaMetadataRetriever setDataSource(String) throws an IllegalArgumentException when an IOException or FileNotFoundException occurs, but doesn't close FileDescriptor accordingly. Change-Id: Ib6e0f1418afeeb19e03abd4bedb4cc845a58b6b4 --- media/java/android/media/MediaMetadataRetriever.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'media') diff --git a/media/java/android/media/MediaMetadataRetriever.java b/media/java/android/media/MediaMetadataRetriever.java index a3ff080..7dd70d4 100644 --- a/media/java/android/media/MediaMetadataRetriever.java +++ b/media/java/android/media/MediaMetadataRetriever.java @@ -64,9 +64,7 @@ public class MediaMetadataRetriever throw new IllegalArgumentException(); } - FileInputStream is = null; - try { - is = new FileInputStream(path); + try (FileInputStream is = new FileInputStream(path)) { FileDescriptor fd = is.getFD(); setDataSource(fd, 0, 0x7ffffffffffffffL); } catch (FileNotFoundException fileEx) { @@ -74,12 +72,6 @@ public class MediaMetadataRetriever } catch (IOException ioEx) { throw new IllegalArgumentException(); } - - try { - if (is != null) { - is.close(); - } - } catch (Exception e) {} } /** -- cgit v1.1