vlc/vlc-2.2 | branch: master | Erwan Tulou <[email protected]> | Thu Jun 11 20:09:10 2015 +0200| [23188e2036b47526e63d6b9346af150957825b10] | committer: Erwan Tulou
skins2: fix file descriptor leak and missing error check (cherry picked from commit 01bf3662b1af1673cc5f6efbb355a698983a7651) Signed-off-by: Erwan Tulou <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc/vlc-2.2.git/?a=commit;h=23188e2036b47526e63d6b9346af150957825b10 --- modules/gui/skins2/src/theme_loader.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/gui/skins2/src/theme_loader.cpp b/modules/gui/skins2/src/theme_loader.cpp index 5783cda..1fba110 100644 --- a/modules/gui/skins2/src/theme_loader.cpp +++ b/modules/gui/skins2/src/theme_loader.cpp @@ -115,6 +115,8 @@ bool ThemeLoader::extractTarGz( const string &tarFile, const string &rootDir ) if( tar_open( &t, (char *)tarFile.c_str(), O_RDONLY ) == -1 ) #endif { + msg_Dbg( getIntf(), "failed to open %s as a gzip tar file", + tarFile.c_str() ); return false; } @@ -139,10 +141,18 @@ bool ThemeLoader::extractZip( const string &zipFile, const string &rootDir ) // Try to open the ZIP file unzFile file = unzOpen( zipFile.c_str() ); + if( file == 0 ) + { + msg_Dbg( getIntf(), "failed to open %s as a zip file", + zipFile.c_str() ); + return false; + } unz_global_info info; - if( unzGetGlobalInfo( file, &info ) != UNZ_OK ) { + msg_Dbg( getIntf(), "failed to read zip info from %s", + zipFile.c_str() ); + unzClose( file ); return false; } // Extract all the files in the archive @@ -159,7 +169,7 @@ bool ThemeLoader::extractZip( const string &zipFile, const string &rootDir ) if( i < info.number_entry - 1 ) { // Go the next file in the archive - if( unzGoToNextFile( file ) !=UNZ_OK ) + if( unzGoToNextFile( file ) != UNZ_OK ) { msg_Warn( getIntf(), "error while unzipping %s", zipFile.c_str() ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
