CVE-2016-6318: Stack-based buffer overflow when parsing large GECOS field It is not safe to pass words longer than STRINGSIZE further to cracklib so the longbuffer cannot be longer than STRINGSIZE.
The input word is guaranteed to be at most STRINGSIZE-1 in length. One of the mangle operations involves duplicating the input word, resulting in a string twice the length to be accommodated by both area variables.
Fix build against Python 3.12 The build-time test suite still used the obsolete assertEquals function - which was obsolete and got dropped from Python 3.12. Use the replacement instead so we can build with Python 3.12.