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

Commit 45c743f8 authored by Jin Seok Park's avatar Jin Seok Park Committed by android-build-merger
Browse files

Merge "Merge "Prevent file descriptor leak" into qt-dev am: 013bc8ae am:...

Merge "Merge "Prevent file descriptor leak" into qt-dev am: 013bc8ae am: 3df77763" into qt-r1-dev-plus-aosp
am: 0d2b94fe

Change-Id: Ic9560c62d8c1be7343e10c1c440708f0b8d3261b
parents b89618a4 0d2b94fe
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -1395,6 +1395,9 @@ public class ExifInterface {
        }
        mAssetInputStream = null;
        mFilename = null;
        // When FileDescriptor is duplicated and set to FileInputStream, ownership needs to be
        // clarified in order for garbage collection to take place.
        boolean isFdOwner = false;
        if (isSeekableFD(fileDescriptor)) {
            mSeekableFileDescriptor = fileDescriptor;
            // Keep the original file descriptor in order to save attributes when it's seekable.
@@ -1402,6 +1405,7 @@ public class ExifInterface {
            // feature won't be working.
            try {
                fileDescriptor = Os.dup(fileDescriptor);
                isFdOwner = true;
            } catch (ErrnoException e) {
                throw e.rethrowAsIOException();
            }
@@ -1411,7 +1415,7 @@ public class ExifInterface {
        mIsInputStream = false;
        FileInputStream in = null;
        try {
            in = new FileInputStream(fileDescriptor);
            in = new FileInputStream(fileDescriptor, isFdOwner);
            loadAttributes(in);
        } finally {
            IoUtils.closeQuietly(in);
@@ -1966,7 +1970,7 @@ public class ExifInterface {
            } else if (mSeekableFileDescriptor != null) {
                FileDescriptor fileDescriptor = Os.dup(mSeekableFileDescriptor);
                Os.lseek(fileDescriptor, 0, OsConstants.SEEK_SET);
                in = new FileInputStream(fileDescriptor);
                in = new FileInputStream(fileDescriptor, true);
            }
            if (in == null) {
                // Should not be reached this.