diff -ur openbabel-2.3.0.orig//src/formats/mdlformat.cpp openbabel-2.3.0//src/formats/mdlformat.cpp --- openbabel-2.3.0.orig//src/formats/mdlformat.cpp 2010-12-07 13:05:58.612098309 -0600 +++ openbabel-2.3.0//src/formats/mdlformat.cpp 2010-12-07 15:22:15.462098309 -0600 @@ -518,11 +518,11 @@ if (line.size() >= 9) n = ReadUIntField((line.substr(6, 3)).c_str()); //entries on this line if (n <= 0 || n > 99 || 6+n*8 > line.size()) { //catch ill-formed line - obErrorLog.ThrowError(__FUNCTION__, "Error in line: Invalid number following 'M CHG', 'M ISO' or 'M RAD' specification (must be an integer in range 1 to 8)\n" + line, obError); + obErrorLog.ThrowError(__FUNCTION__, "Error in line: Invalid number following 'M CHG', 'M ISO' or 'M RAD' specification (must be an integer in range 1 to 50)\n" + line, obError); return false; } - if (n > 8) { - obErrorLog.ThrowError(__FUNCTION__, "Invalid line: too many items, only 8 items are allowed:\n" + line, obWarning); + if (n > 50) { + obErrorLog.ThrowError(__FUNCTION__, "Invalid line: too many items, only 50 items are allowed:\n" + line, obWarning); } int pos = 10; for (; n > 0; n--, pos += 8) {