diff --git a/modules/io/src/mol/sdf_reader.cc b/modules/io/src/mol/sdf_reader.cc index 3c28e279cb71a3f89575d5fe3bca70ce621c6c6f..72488aa989ec1bc26e690d211fb39ae25cad4b06 100644 --- a/modules/io/src/mol/sdf_reader.cc +++ b/modules/io/src/mol/sdf_reader.cc @@ -159,6 +159,11 @@ void SDFReader::ParseAndAddHeader(const String& line, int line_num, break; case 4: // counts line { + if (line.length() < 39) { + String msg="Bad counts line %d: Not correct number of characters on " + "the line: %i (should be at least 39)"; + throw IOException(str(format(msg) % line_num % line.length())); + } String version_str=line.substr(34, 5); if (version_str != "V2000") { String msg="Unsupported SDF version: %s.";