Author: delphij Date: Tue Jun 23 23:34:46 2009 New Revision: 194797 URL: http://svn.freebsd.org/changeset/base/194797
Log: Use strlcpy() instead of manually setting the last byte of the array to \0. Modified: head/usr.bin/make/arch.c Modified: head/usr.bin/make/arch.c ============================================================================== --- head/usr.bin/make/arch.c Tue Jun 23 23:32:24 2009 (r194796) +++ head/usr.bin/make/arch.c Tue Jun 23 23:34:46 2009 (r194797) @@ -583,8 +583,7 @@ ArchArchiveNext(struct arfile *ar) * looks like a member - get name by stripping trailing spaces * and NUL terminating. */ - strncpy(ar->sname, ar->hdr.ar_name, AR_NAMSIZ); - ar->sname[AR_NAMSIZ] = '\0'; + strlcpy(ar->sname, ar->hdr.ar_name, AR_NAMSIZ + 1); for (ptr = ar->sname + AR_NAMSIZ; ptr > ar->sname; ptr--) if (ptr[-1] != ' ') break; @@ -595,8 +594,7 @@ ArchArchiveNext(struct arfile *ar) * Parse the size. All entries need to have a size. Be careful * to not allow buffer overruns. */ - strncpy(buf, ar->hdr.ar_size, sizeof(ar->hdr.ar_size)); - buf[sizeof(ar->hdr.ar_size)] = '\0'; + strlcpy(buf, ar->hdr.ar_size, sizeof(ar->hdr.ar_size) + 1); errno = 0; ar->size = strtoumax(buf, &end, 10); @@ -650,8 +648,7 @@ ArchArchiveNext(struct arfile *ar) * Now parse the modification date. Be careful to not overrun * buffers. */ - strncpy(buf, ar->hdr.ar_date, sizeof(ar->hdr.ar_date)); - buf[sizeof(ar->hdr.ar_date)] = '\0'; + strlcpy(buf, ar->hdr.ar_date, sizeof(ar->hdr.ar_date) + 1); errno = 0; ar->time = (int64_t)strtoll(buf, &end, 10); @@ -965,8 +962,7 @@ ArchStatMember(const char *archive, cons if (member != NULL && strlen(member) > AR_NAMSIZ) { /* Try truncated name */ - strncpy(copy, member, AR_NAMSIZ); - copy[AR_NAMSIZ] = '\0'; + strlcpy(copy, member, AR_NAMSIZ + 1); if ((he = Hash_FindEntry(&ar->members, copy)) != NULL) return (*(int64_t *)Hash_GetValue(he)); _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"