diff options
author | root <root@rshg047.dnsready.net> | 2011-06-30 23:11:47 +0000 |
---|---|---|
committer | root <root@rshg047.dnsready.net> | 2011-06-30 23:11:47 +0000 |
commit | 64e72407414ce0badfb541782125cd8e3a25c12e (patch) | |
tree | b77ce06374d43b1653bc517ebdbd10e1d0f2b328 /core/shadow/shadow-strncpy-usage.patch | |
parent | 5e8a6a470237711ad18f12dde87deea6f2b8b0e0 (diff) |
Thu Jun 30 23:11:47 UTC 2011
Diffstat (limited to 'core/shadow/shadow-strncpy-usage.patch')
-rw-r--r-- | core/shadow/shadow-strncpy-usage.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/core/shadow/shadow-strncpy-usage.patch b/core/shadow/shadow-strncpy-usage.patch new file mode 100644 index 000000000..46df74ace --- /dev/null +++ b/core/shadow/shadow-strncpy-usage.patch @@ -0,0 +1,27 @@ +diff -ur shadow-4.1.4.3.orig/src/login.c shadow-4.1.4.3/src/login.c +--- shadow-4.1.4.3.orig/src/login.c 2011-03-05 22:17:10.032524948 -0800 ++++ shadow-4.1.4.3/src/login.c 2011-03-05 22:17:59.154342059 -0800 +@@ -748,8 +748,9 @@ + sizeof (loginprompt), + _("%s login: "), hostn); + } else { ++ loginprompt[sizeof (loginprompt) - 1] = '\0'; + strncpy (loginprompt, _("login: "), +- sizeof (loginprompt)); ++ sizeof (loginprompt) - 1); + } + + retcode = pam_set_item (pamh, PAM_USER_PROMPT, loginprompt); +diff -ur shadow-4.1.4.3.orig/src/usermod.c shadow-4.1.4.3/src/usermod.c +--- shadow-4.1.4.3.orig/src/usermod.c 2011-03-05 22:17:10.029191265 -0800 ++++ shadow-4.1.4.3/src/usermod.c 2011-03-05 22:18:42.665576968 -0800 +@@ -182,7 +182,8 @@ + struct tm *tp; + + if ((negativ != NULL) && (date < 0)) { +- strncpy (buf, negativ, maxsize); ++ buf[maxsize - 1] = '\0'; ++ strncpy (buf, negativ, maxsize - 1); + } else { + time_t t = (time_t) date; + tp = gmtime (&t); |