[chessx-developer] Bug in DatabaseInfo causes Access Violation
Chess Database and PGN viewer
Brought to you by:
hognose
From: Jens N. <jen...@gm...> - 2011-02-20 09:43:30
|
If a database fails to open, it is closed twice (in close and the destructor), resulting in an access violation. I suggest the following changes, the changes in close() merely a security precaution: iMac:database ni$ svn diff databaseinfo.cpp Index: databaseinfo.cpp =================================================================== --- databaseinfo.cpp (revision 1091) +++ databaseinfo.cpp (working copy) @@ -34,7 +34,6 @@ bool DatabaseInfo::open() { if (!m_database->open(m_filename)) { - close(); return false; } delete m_filter; @@ -46,8 +45,10 @@ void DatabaseInfo::close() { - delete m_database; - delete m_filter; + if (m_database) delete m_database; + if (m_filter) delete m_filter; + m_database = NULL; + m_filter = NULL; } DatabaseInfo::~DatabaseInfo() =================================================================== Version was 0.8 - svn revision 1091 Kind regards, Jens |