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

Commit b9134742 authored by Josh Gao's avatar Josh Gao Committed by android-build-merger
Browse files

Merge "Fix double close in NativeLibraryHelper.openApkFd." am: 657650ea

am: 1bb899b5

Change-Id: I25daec095ddbdcf84f3b1955c4d088d28f1d726b
parents 62558535 1bb899b5
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@

#include <zlib.h>

#include <errno.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
@@ -567,7 +568,14 @@ com_android_internal_content_NativeLibraryHelper_openApkFd(JNIEnv *env, jclass,
        return 0;
    }

    ZipFileRO* zipFile = ZipFileRO::openFd(fd, debugFilePath.c_str());
    int dupedFd = dup(fd);
    if (dupedFd == -1) {
        jniThrowExceptionFmt(env, "java/lang/IllegalArgumentException",
                             "Failed to dup FileDescriptor: %s", strerror(errno));
        return 0;
    }

    ZipFileRO* zipFile = ZipFileRO::openFd(dupedFd, debugFilePath.c_str());

    return reinterpret_cast<jlong>(zipFile);
}