I\'m supporting some c code on Solaris, and I\'ve seen something weird at least I think it is:
char new_login[64]; ... strcpy(new_login, (char *)login); ...
Definitely a bug. free() MUST ONLY be used for heap alloc'd memory, unless it's redefined to do something completely different, which I doubt to be the case.
free()