6ae8b92a79
The xgetpass() function pushes a cleanup entry for &osa, but then attempts to flush the stack until an entry matching &sa. The two object pointers do not match, so the stack is popped too much, and then cleanup_until calls abort() when it unexpectedly hits the bottom of the cleanup stack. Reported by: Paul B. Mahol, onemda at gmail.com, Pietro Cerutti, gahr at gahr.ch PR: bin/124191 Reviewed by: mp, kris MFC after: 2 days