summaryrefslogtreecommitdiff
path: root/debian/patches-applied/057_pam_unix_passwd_OOM_check
blob: afae12e1cc2df7f10a5c513f211bfcc6df284a1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Index: Linux-PAM/modules/pam_unix/pam_unix_passwd.c
===================================================================
--- Linux-PAM/modules/pam_unix/pam_unix_passwd.c.orig
+++ Linux-PAM/modules/pam_unix/pam_unix_passwd.c
@@ -1323,6 +1323,16 @@
 			}
 		}
 
+		/* A null pointer here indicates a memory failure
+		   somewhere along the way; don't set the password to
+		   NULL! */
+		if (tpass == NULL) {
+			pam_syslog(pamh, LOG_CRIT,
+			           "out of memory for password");
+			pass_new = pass_old = NULL;	/* tidy up */
+			return PAM_BUF_ERR;
+		}
+
 		D(("password processed"));
 
 		/* update the password database(s) -- race conditions..? */