If vipw is invoked like `vipw -d /some/directory/not/ending/in/slash` then it replaces the terminating '\0' with '/' before calling strcat. This would cause heap corruption if malloc() didn't happen to return a block of zeroes.
Responsible Changed From-To: freebsd-bugs->sheldonh I'll take this one, since I introduced the offending code.
State Changed From-To: open->closed Committed as rev 1.11 (HEAD) and rev 1.5.2.6 (RELENG_3). Thanks!