mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-03 21:44:30 +08:00
committed by
Brian Kelley
parent
00c409ca59
commit
81ee476fd7
@@ -90,6 +90,7 @@ class FPBReader {
|
||||
FPBReader(std::istream *inStream, bool takeOwnership = true,
|
||||
bool lazyRead = false)
|
||||
: dp_istrm(inStream),
|
||||
dp_impl(NULL),
|
||||
df_owner(takeOwnership),
|
||||
df_init(false),
|
||||
df_lazyRead(lazyRead){};
|
||||
@@ -268,6 +269,7 @@ class FPBReader {
|
||||
throw BadFileException(errout.str());
|
||||
}
|
||||
dp_istrm = tmpStream;
|
||||
dp_impl = NULL;
|
||||
df_owner = true;
|
||||
df_init = false;
|
||||
df_lazyRead = lazyRead;
|
||||
|
||||
@@ -562,6 +562,31 @@ void test10FPBReaderTverskyNeighbors() {
|
||||
BOOST_LOG(rdInfoLog) << "Finished" << std::endl;
|
||||
}
|
||||
|
||||
void testGithub1118() {
|
||||
BOOST_LOG(rdInfoLog) << "-----------------------\n Testing github issue "
|
||||
"1118: deleting non-initialized FPBReader causes seg "
|
||||
"fault"
|
||||
<< std::endl;
|
||||
std::string pathName = getenv("RDBASE");
|
||||
pathName += "/Code/DataStructs/testData/";
|
||||
{
|
||||
std::string filename = pathName + "zim.head100.fpb";
|
||||
FPBReader *fps = new FPBReader(filename);
|
||||
delete fps;
|
||||
}
|
||||
{
|
||||
FPBReader *fps = new FPBReader();
|
||||
delete fps;
|
||||
}
|
||||
{
|
||||
std::string filename = pathName + "zim.head100.fpb";
|
||||
std::ifstream ifs(filename.c_str());
|
||||
FPBReader *fps = new FPBReader(&ifs, false);
|
||||
delete fps;
|
||||
}
|
||||
BOOST_LOG(rdInfoLog) << "Finished" << std::endl;
|
||||
}
|
||||
|
||||
int main() {
|
||||
RDLog::InitLogs();
|
||||
|
||||
@@ -578,5 +603,6 @@ int main() {
|
||||
|
||||
test9FPBReaderTversky();
|
||||
test10FPBReaderTverskyNeighbors();
|
||||
testGithub1118();
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user