From 97b82ae6cdd2202e41d3c91df07979048d46a79f Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Fri, 24 Jul 2015 19:57:05 -0700 Subject: [PATCH] VFS: Fix file handle leak in 7z --- src/util/vfs/vfs-lzma.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/util/vfs/vfs-lzma.c b/src/util/vfs/vfs-lzma.c index c9dafe7b3..c090ac921 100644 --- a/src/util/vfs/vfs-lzma.c +++ b/src/util/vfs/vfs-lzma.c @@ -95,6 +95,7 @@ struct VDir* VDirOpen7z(const char* path, int flags) { SzArEx_Init(&vd->db); SRes res = SzArEx_Open(&vd->db, &vd->lookStream.s, &vd->allocImp, &vd->allocTempImp); if (res != SZ_OK) { + File_Close(&vd->archiveStream.file); free(vd); return 0; } @@ -115,6 +116,7 @@ struct VDir* VDirOpen7z(const char* path, int flags) { bool _vf7zClose(struct VFile* vf) { struct VFile7z* vf7z = (struct VFile7z*) vf; IAlloc_Free(&vf7z->vd->allocImp, vf7z->outBuffer); + File_Close(&vf7z->vd->archiveStream.file); return true; }