From 82e447c53585e5ecf1742b4c61284c871e6faeab Mon Sep 17 00:00:00 2001 From: "Fabio M. Di Nitto" Date: Fri, 29 Oct 2010 00:12:53 +0200 Subject: [PATCH] vty: fix pam memory leakage in case of failure/timeout Signed-off-by: Fabio M. Di Nitto --- vty.c | 2 +- vty_auth.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/vty.c b/vty.c index 0a5fd2a96..506d1045c 100644 --- a/vty.c +++ b/vty.c @@ -167,7 +167,7 @@ int knet_vty_main_loop(const char *configfile, const char *ip_addr, knet_vtys[conn_index].idle++; if (knet_vtys[conn_index].idle > KNET_VTY_CLI_TIMEOUT) { knet_vty_close(&knet_vtys[conn_index]); - pthread_cancel(knet_vtys[conn_index].vty_thread); + knet_vtys[conn_index].got_epipe = 1; } } } diff --git a/vty_auth.c b/vty_auth.c index 63a216113..3a42aa277 100644 --- a/vty_auth.c +++ b/vty_auth.c @@ -204,6 +204,11 @@ static int knet_vty_pam_auth_user(struct knet_vty *vty, const char *user) } out_fatal: + if (pamh) { + pam_end(pamh, err); + pamh = NULL; + } + knet_vty_write(vty, "\n"); return err;