Thanks. In fact, it was discovered internally only yesterday and fixed.
The problem is that ActivePerl uses the crypt_r() function which needs a buffer to work with, and that argument requires one of its fields to be nulled. ActivePerl allocates this buffer on the stack, so the said field may be non-null.
The following patch has been checked in:
--- ./pp.c.~1~ Tue Sep 17 14:17:07 2002
+++ ./pp.c Tue Sep 17 14:17:07 2002
@@ -2347,6 +2347,7 @@
# if defined(__linux__)
# include <crypt.h>
struct crypt_data c_data;
+ c_data.initialized = 0;
# define crypt(k,s) crypt_r(k,s,&c_data)
# endif
#endif
End of Patch.
There should be a new release out for Linux ASAP.