process_lines_with_atoms reads the atom label with sscanf("%s") into char[5]. A 56-character label silently corrupts the parsed coordinates (returns 0,0,0 instead of the actual values); a 64-character label crashes the interpreter with SIGSEGV. The pure-Python fallback accepts any length, so compiled and source installs disagree.
Not reachable with chemical data — the longest supported custom label is ~13 characters — but a corrupt file should raise, not smash the stack.
process_lines_with_atomsreads the atom label withsscanf("%s")intochar[5]. A 56-character label silently corrupts the parsed coordinates (returns 0,0,0 instead of the actual values); a 64-character label crashes the interpreter with SIGSEGV. The pure-Python fallback accepts any length, so compiled and source installs disagree.Not reachable with chemical data — the longest supported custom label is ~13 characters — but a corrupt file should raise, not smash the stack.