Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e1856e48 authored by harvey_tsai's avatar harvey_tsai Committed by Narayan Kamath
Browse files

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
parent a78c0e0b
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -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) {}
    }

    /**