Application crashing in the RWDBBlob destructor in DBTools 3.1.3 version

Article ID: 1101
Last updated: 01 Feb, 2008
Article ID: 1101
Last updated: 01 Feb, 2008
Revision: 1
Views: 7276
Posted: 25 Jun, 1999
by Dean J.
Updated: 01 Feb, 2008
by Dean J.
Problem



1.Instantiation of RWDBBlob object crashes in its destructor

or

2. The application crashes in the RWDBBlob destructor.



Cause


This is a bug in DBTools 3.1.3 blob.cpp file.


Action



A fix for this problem is created for the later versions but the fix did not get into DBTools 3.1.3 release.
A quick fix is to change the source code blob.cpp and recompile the DBTools core library and the corresponding access library.
You need to change the file blob.cpp located under
partsdbt0313wsourcesrc directory on windows
partsdbt0313usourcesrc directory on Unix

 void RWDBBlobData::deleteData() {     RWPRECONDITION(!references());          if (allocated_) {         RWVECTOR_DELETE(sizeof(RWDBBlobData))(unsigned char*)this;         RWVECTOR_DELETE(sizeof(capacity_))(unsigned char*)data_;     }     else {         RWVECTOR_DELETE(sizeof(RWDBBlobData))(unsigned char*)this;     } } 

to

void RWDBBlobData::deleteData() { RWPRECONDITION(!references()); if (allocated_) { RWVECTOR_DELETE(sizeof(capacity_))(unsigned char*)data_; // these two lines RWVECTOR_DELETE(sizeof(RWDBBlobData))(unsigned char*)this; // are switched around } else { RWVECTOR_DELETE(sizeof(RWDBBlobData))(unsigned char*)this; } }

 

More questions, send an e-mail to support@roguewave.com

 

This article was:   Helpful | Not helpful
Report an issue
Article ID: 1101
Last updated: 01 Feb, 2008
Revision: 1
Views: 7276
Posted: 25 Jun, 1999 by Dean J.
Updated: 01 Feb, 2008 by Dean J.

Others in this category