summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/libjar/nsZipArchive.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/libjar/nsZipArchive.cpp b/modules/libjar/nsZipArchive.cpp
index 841503ebf..2f12af5f0 100644
--- a/modules/libjar/nsZipArchive.cpp
+++ b/modules/libjar/nsZipArchive.cpp
@@ -217,16 +217,17 @@ nsresult nsZipHandle::Init(nsIFile *file, nsZipHandle **ret,
#else
handle->mNSPRFileDesc = fd.forget();
#endif
- handle->mMap = map;
handle->mFile.Init(file);
handle->mTotalLen = (uint32_t) size;
handle->mFileStart = buf;
rv = handle->findDataStart();
if (NS_FAILED(rv)) {
PR_MemUnmap(buf, (uint32_t) size);
+ handle->mFileStart = nullptr;
PR_CloseFileMap(map);
return rv;
}
+ handle->mMap = map;
handle.forget(ret);
return NS_OK;
}