From 9bb5bf9f9bd2fa307ecbae246682031cce2624d9 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 1 Mar 2014 10:57:00 +0000 Subject: fix for a crash inside the events convertor git-svn-id: http://svn.miranda-ng.org/main/trunk@8338 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Db3x_mmap/src/dbevents.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'plugins') diff --git a/plugins/Db3x_mmap/src/dbevents.cpp b/plugins/Db3x_mmap/src/dbevents.cpp index 0c0294297b..41782ec970 100644 --- a/plugins/Db3x_mmap/src/dbevents.cpp +++ b/plugins/Db3x_mmap/src/dbevents.cpp @@ -361,6 +361,13 @@ void CDb3Mmap::ConvertContactEvents(DBContact *cc) for (DWORD ofsEvent = cc->ofsFirstEvent; ofsEvent != 0;) { DBEvent_094 pOld = *(DBEvent_094*)DBRead(ofsEvent, sizeof(DBEvent_094), NULL); + if (pOld.signature != DBEVENT_SIGNATURE) + break; + + if (pOld.cbBlob >= 65536) { + ofsEvent = pOld.ofsNext; + continue; + } memcpy(pBlob, m_pDbCache + ofsEvent + offsetof(DBEvent_094, blob), pOld.cbBlob); DWORD ofsNew = ReallocSpace(ofsEvent, offsetof(DBEvent_094, blob) + pOld.cbBlob, offsetof(DBEvent, blob) + pOld.cbBlob); -- cgit v1.2.3