From 3681c515e27be9e98d31cf2886d47df085007387 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 30 Mar 2007 13:11:09 +0000 Subject: [PATCH] check that the pointer is non-NULL before using it in OpenFile() (thanks coverity) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/fs_arc.cpp | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/common/fs_arc.cpp b/src/common/fs_arc.cpp index a00e6accd7..83092fe392 100644 --- a/src/common/fs_arc.cpp +++ b/src/common/fs_arc.cpp @@ -395,27 +395,30 @@ wxFSFile* wxArchiveFSHandler::OpenFile( } wxArchiveInputStream *s = factory->NewStream(leftStream); + if ( !s ) + return NULL; + s->OpenEntry(*entry); - if (s && s->IsOk()) + if (!s->IsOk()) { -#if WXWIN_COMPATIBILITY_2_6 - if (factory->IsKindOf(CLASSINFO(wxZipClassFactory))) - ((wxZipInputStream*)s)->m_allowSeeking = true; -#endif // WXWIN_COMPATIBILITY_2_6 - - return new wxFSFile(s, - key + right, - GetMimeTypeFromExt(location), - GetAnchor(location) -#if wxUSE_DATETIME - , entry->GetDateTime() -#endif // wxUSE_DATETIME - ); + delete s; + return NULL; } - delete s; - return NULL; +#if WXWIN_COMPATIBILITY_2_6 + if (factory->IsKindOf(CLASSINFO(wxZipClassFactory))) + ((wxZipInputStream*)s)->m_allowSeeking = true; +#endif // WXWIN_COMPATIBILITY_2_6 + + return new wxFSFile(s, + key + right, + GetMimeTypeFromExt(location), + GetAnchor(location) +#if wxUSE_DATETIME + , entry->GetDateTime() +#endif // wxUSE_DATETIME + ); } wxString wxArchiveFSHandler::FindFirst(const wxString& spec, int flags)