diff -ur openssh/monitor.c openssh-5.8p1/monitor.c --- openssh/monitor.c 2011-02-23 14:22:42.007937852 +0100 +++ openssh-5.8p1/monitor.c 2011-02-23 19:26:01.491710679 +0100 @@ -106,6 +106,8 @@ extern int auth_debug_init; extern Buffer loginmsg; +extern void destroy_sensitive_data(int); + /* State exported from the child */ struct { @@ -1651,6 +1653,8 @@ sshpam_cleanup(); #endif + destroy_sensitive_data(0); + while (waitpid(pmonitor->m_pid, &status, 0) == -1) if (errno != EINTR) exit(1);