mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-03 21:44:30 +08:00
Fixes memory leak in closeCheckMolFiles, fixes valgrind read issue in initCheckMol (#1200)
This commit is contained in:
committed by
Greg Landrum
parent
da72fa16dc
commit
03d9fcaead
13
External/AvalonTools/AvalonTools.cpp
vendored
13
External/AvalonTools/AvalonTools.cpp
vendored
@@ -27,6 +27,7 @@ extern "C" {
|
||||
|
||||
extern int RunStruchk(struct reaccs_molecule_t **mpp,
|
||||
struct data_line_t *data_list);
|
||||
extern void ClearParameters();
|
||||
}
|
||||
|
||||
// already defined in struchk.c
|
||||
@@ -367,7 +368,14 @@ namespace AvalonTools {
|
||||
}
|
||||
|
||||
int initCheckMol(const std::string &optString) {
|
||||
return InitCheckMol((char *) optString.c_str());
|
||||
// n.b. always add a cr to the end for safety
|
||||
char *optBuffer = new char[optString.size()+2];
|
||||
optString.copy(optBuffer, optString.size());
|
||||
optBuffer[optString.size()-1] = '\n';
|
||||
optBuffer[optString.size()] = '\0';
|
||||
int res = InitCheckMol(optBuffer);
|
||||
delete [] optBuffer;
|
||||
return res;
|
||||
}
|
||||
|
||||
std::string getCheckMolLog()
|
||||
@@ -432,7 +440,8 @@ namespace AvalonTools {
|
||||
|
||||
|
||||
void closeCheckMolFiles() {
|
||||
CloseOpenFiles();
|
||||
ClearParameters();
|
||||
CloseOpenFiles();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user