66 lines
2.7 KiB
Diff
66 lines
2.7 KiB
Diff
diff -up shadow-4.1.4.2/lib/commonio.c.fixes shadow-4.1.4.2/lib/commonio.c
|
|
--- shadow-4.1.4.2/lib/commonio.c.fixes 2009-09-07 15:51:28.312139467 +0200
|
|
+++ shadow-4.1.4.2/lib/commonio.c 2009-09-07 15:52:00.788140456 +0200
|
|
@@ -710,7 +710,7 @@ commonio_sort (struct commonio_db *db, i
|
|
db->tail->prev = entries[n - 1];
|
|
db->tail->next = NULL;
|
|
|
|
- for (i = 1; i < n; i++) {
|
|
+ for (i = 1; i < (n-1); i++) {
|
|
entries[i]->prev = entries[i - 1];
|
|
entries[i]->next = entries[i + 1];
|
|
}
|
|
diff -up shadow-4.1.4.2/libmisc/cleanup.c.fixes shadow-4.1.4.2/libmisc/cleanup.c
|
|
--- shadow-4.1.4.2/libmisc/cleanup.c.fixes 2009-09-07 15:52:22.449035388 +0200
|
|
+++ shadow-4.1.4.2/libmisc/cleanup.c 2009-09-07 15:55:06.632033653 +0200
|
|
@@ -107,7 +107,7 @@ void del_cleanup (cleanup_function pcf)
|
|
assert (i<CLEANUP_FUNCTIONS);
|
|
|
|
/* Move the rest of the cleanup functions */
|
|
- for (; i<CLEANUP_FUNCTIONS; i++) {
|
|
+ for (; i<(CLEANUP_FUNCTIONS - 1); i++) {
|
|
/* Make sure the cleanup function was specified only once */
|
|
assert (cleanup_functions[i+1] != pcf);
|
|
|
|
diff -up shadow-4.1.4.2/libmisc/limits.c.fixes shadow-4.1.4.2/libmisc/limits.c
|
|
--- shadow-4.1.4.2/libmisc/limits.c.fixes 2009-09-07 15:55:38.734034494 +0200
|
|
+++ shadow-4.1.4.2/libmisc/limits.c 2009-09-07 15:56:10.545044166 +0200
|
|
@@ -167,7 +167,7 @@ static int check_logins (const char *nam
|
|
* includes the user who is currently trying to log in.
|
|
*/
|
|
if (count > limit) {
|
|
- SYSLOG ((LOG_WARN, "Too many logins (max %d) for %s\n",
|
|
+ SYSLOG ((LOG_WARN, "Too many logins (max %lu) for %s\n",
|
|
limit, name));
|
|
return LOGIN_ERROR_LOGIN;
|
|
}
|
|
diff -up shadow-4.1.4.2/libmisc/utmp.c.fixes shadow-4.1.4.2/libmisc/utmp.c
|
|
--- shadow-4.1.4.2/libmisc/utmp.c.fixes 2009-09-07 15:56:30.534033865 +0200
|
|
+++ shadow-4.1.4.2/libmisc/utmp.c 2009-09-07 16:11:23.049069289 +0200
|
|
@@ -56,7 +56,7 @@ static bool is_my_tty (const char *tty)
|
|
/* full_tty shall be at least sizeof utmp.ut_line + 5 */
|
|
char full_tty[200];
|
|
/* tmptty shall be bigger than full_tty */
|
|
- static char tmptty[sizeof (full_tty)+1];
|
|
+ static char tmptty[sizeof (full_tty)+1] = "";
|
|
|
|
if ('/' != *tty) {
|
|
(void) snprintf (full_tty, sizeof full_tty, "/dev/%s", tty);
|
|
@@ -71,7 +71,7 @@ static bool is_my_tty (const char *tty)
|
|
}
|
|
}
|
|
|
|
- if (NULL == tmptty) {
|
|
+ if ('\0' == tmptty[0]) {
|
|
(void) puts (_("Unable to determine your tty name."));
|
|
exit (EXIT_FAILURE);
|
|
} else if (strncmp (tty, tmptty, sizeof (tmptty)) != 0) {
|
|
@@ -200,7 +200,6 @@ static void updwtmpx (const char *filena
|
|
strcpy (hostname, host);
|
|
#ifdef HAVE_STRUCT_UTMP_UT_HOST
|
|
} else if ( (NULL != ut)
|
|
- && (NULL != ut->ut_host)
|
|
&& ('\0' != ut->ut_host[0])) {
|
|
hostname = (char *) xmalloc (sizeof (ut->ut_host) + 1);
|
|
strncpy (hostname, ut->ut_host, sizeof (ut->ut_host));
|