summaryrefslogtreecommitdiff
path: root/auth-pam.c
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2004-06-30 20:34:31 +1000
committerDarren Tucker <dtucker@zip.com.au>2004-06-30 20:34:31 +1000
commit59e06026d721661c477ff5eccc36918665a9ef01 (patch)
tree889a51548493ac97ff42e2313353b69f7f3257f7 /auth-pam.c
parent5288cb242aeea747dba400997c376035578a8445 (diff)
- (dtucker) [auth-pam.c] Check for buggy PAM modules that return a NULL
appdata_ptr to the conversation function. ok djm@ By rights we should free the messages too, but if this happens then one of the modules has already proven itself to be buggy so can we trust the messages?
Diffstat (limited to 'auth-pam.c')
-rw-r--r--auth-pam.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/auth-pam.c b/auth-pam.c
index 56c8d889f..cad89e14f 100644
--- a/auth-pam.c
+++ b/auth-pam.c
@@ -47,7 +47,7 @@
47 47
48/* Based on $FreeBSD: src/crypto/openssh/auth2-pam-freebsd.c,v 1.11 2003/03/31 13:48:18 des Exp $ */ 48/* Based on $FreeBSD: src/crypto/openssh/auth2-pam-freebsd.c,v 1.11 2003/03/31 13:48:18 des Exp $ */
49#include "includes.h" 49#include "includes.h"
50RCSID("$Id: auth-pam.c,v 1.107 2004/06/19 02:54:38 dtucker Exp $"); 50RCSID("$Id: auth-pam.c,v 1.108 2004/06/30 10:34:32 dtucker Exp $");
51 51
52#ifdef USE_PAM 52#ifdef USE_PAM
53#if defined(HAVE_SECURITY_PAM_APPL_H) 53#if defined(HAVE_SECURITY_PAM_APPL_H)
@@ -275,6 +275,10 @@ sshpam_thread_conv(int n, const struct pam_message **msg,
275 debug3("PAM: %s entering, %d messages", __func__, n); 275 debug3("PAM: %s entering, %d messages", __func__, n);
276 *resp = NULL; 276 *resp = NULL;
277 277
278 if (data == NULL) {
279 error("PAM: conversation function passed a null context");
280 return (PAM_CONV_ERR);
281 }
278 ctxt = data; 282 ctxt = data;
279 if (n <= 0 || n > PAM_MAX_NUM_MSG) 283 if (n <= 0 || n > PAM_MAX_NUM_MSG)
280 return (PAM_CONV_ERR); 284 return (PAM_CONV_ERR);