lib/: Use STRNCPY() instead of strncpy(3)
We've recently fixed several bugs in the calculation of the size in this function call. Use this wrapper to prevent similar mistakes in the future. Signed-off-by: Alejandro Colomar <alx@kernel.org>
This commit is contained in:
committed by
Serge Hallyn
parent
225530b7e1
commit
ce30dfe255
@@ -19,6 +19,7 @@
|
||||
#include <lastlog.h>
|
||||
#include "memzero.h"
|
||||
#include "prototypes.h"
|
||||
#include "strncpy.h"
|
||||
#include "strtcpy.h"
|
||||
|
||||
|
||||
@@ -82,7 +83,7 @@ void dolastlog (
|
||||
newlog.ll_time = ll_time;
|
||||
STRTCPY(newlog.ll_line, line);
|
||||
#if HAVE_LL_HOST
|
||||
strncpy(newlog.ll_host, host, sizeof(newlog.ll_host));
|
||||
STRNCPY(newlog.ll_host, host);
|
||||
#endif
|
||||
if ( (lseek (fd, offset, SEEK_SET) != offset)
|
||||
|| (write_full(fd, &newlog, sizeof newlog) == -1)
|
||||
|
||||
13
lib/utmp.c
13
lib/utmp.c
@@ -25,6 +25,7 @@
|
||||
#include "alloc.h"
|
||||
#include "sizeof.h"
|
||||
#include "strtcpy.h"
|
||||
#include "strncpy.h"
|
||||
#include "zustr2stp.h"
|
||||
|
||||
#ident "$Id$"
|
||||
@@ -262,25 +263,25 @@ static
|
||||
utent->ut_type = USER_PROCESS;
|
||||
#endif /* HAVE_STRUCT_UTMP_UT_TYPE */
|
||||
utent->ut_pid = getpid ();
|
||||
strncpy(utent->ut_line, line, sizeof(utent->ut_line));
|
||||
STRNCPY(utent->ut_line, line);
|
||||
#ifdef HAVE_STRUCT_UTMP_UT_ID
|
||||
if (NULL != ut) {
|
||||
strncpy (utent->ut_id, ut->ut_id, sizeof (utent->ut_id));
|
||||
STRNCPY(utent->ut_id, ut->ut_id);
|
||||
} else {
|
||||
/* XXX - assumes /dev/tty?? */
|
||||
strncpy(utent->ut_id, line + 3, sizeof(utent->ut_id));
|
||||
STRNCPY(utent->ut_id, line + 3);
|
||||
}
|
||||
#endif /* HAVE_STRUCT_UTMP_UT_ID */
|
||||
#ifdef HAVE_STRUCT_UTMP_UT_NAME
|
||||
strncpy (utent->ut_name, name, sizeof (utent->ut_name));
|
||||
STRNCPY(utent->ut_name, name);
|
||||
#endif /* HAVE_STRUCT_UTMP_UT_NAME */
|
||||
#ifdef HAVE_STRUCT_UTMP_UT_USER
|
||||
strncpy(utent->ut_user, name, sizeof(utent->ut_user));
|
||||
STRNCPY(utent->ut_user, name);
|
||||
#endif /* HAVE_STRUCT_UTMP_UT_USER */
|
||||
if (NULL != hostname) {
|
||||
struct addrinfo *info = NULL;
|
||||
#ifdef HAVE_STRUCT_UTMP_UT_HOST
|
||||
strncpy(utent->ut_host, hostname, sizeof(utent->ut_host));
|
||||
STRNCPY(utent->ut_host, hostname);
|
||||
#endif /* HAVE_STRUCT_UTMP_UT_HOST */
|
||||
#ifdef HAVE_STRUCT_UTMP_UT_SYSLEN
|
||||
utent->ut_syslen = MIN (strlen (hostname),
|
||||
|
||||
Reference in New Issue
Block a user