Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Apr 2015 22:33:53 +0000 (UTC)
From:      Mariusz Zaborski <oshogbo@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r282253 - in head/libexec/casper: dns grp
Message-ID:  <201504292233.t3TMXruG080690@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: oshogbo
Date: Wed Apr 29 22:33:53 2015
New Revision: 282253
URL: https://svnweb.freebsd.org/changeset/base/282253

Log:
  Remove the use of nvlist_.*[vf] functions from casper and replace
  them with snprintf(3). Assert the results of snprintf(3).
  
  Approved by:	pjd (mentor)

Modified:
  head/libexec/casper/dns/dns.c
  head/libexec/casper/grp/grp.c

Modified: head/libexec/casper/dns/dns.c
==============================================================================
--- head/libexec/casper/dns/dns.c	Wed Apr 29 22:19:40 2015	(r282252)
+++ head/libexec/casper/dns/dns.c	Wed Apr 29 22:33:53 2015	(r282253)
@@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$");
 
 #include <netinet/in.h>
 
+#include <assert.h>
 #include <errno.h>
 #include <netdb.h>
 #include <stdlib.h>
@@ -103,6 +104,8 @@ static void
 hostent_pack(const struct hostent *hp, nvlist_t *nvl)
 {
 	unsigned int ii;
+	char nvlname[64];
+	int n;
 
 	nvlist_add_string(nvl, "name", hp->h_name);
 	nvlist_add_number(nvl, "addrtype", (uint64_t)hp->h_addrtype);
@@ -112,8 +115,9 @@ hostent_pack(const struct hostent *hp, n
 		nvlist_add_number(nvl, "naliases", 0);
 	} else {
 		for (ii = 0; hp->h_aliases[ii] != NULL; ii++) {
-			nvlist_addf_string(nvl, hp->h_aliases[ii], "alias%u",
-			    ii);
+			n = snprintf(nvlname, sizeof(nvlname), "alias%u", ii);
+			assert(n > 0 && n < (int)sizeof(nvlname));
+			nvlist_add_string(nvl, nvlname, hp->h_aliases[ii]);
 		}
 		nvlist_add_number(nvl, "naliases", (uint64_t)ii);
 	}
@@ -122,8 +126,10 @@ hostent_pack(const struct hostent *hp, n
 		nvlist_add_number(nvl, "naddrs", 0);
 	} else {
 		for (ii = 0; hp->h_addr_list[ii] != NULL; ii++) {
-			nvlist_addf_binary(nvl, hp->h_addr_list[ii],
-			    (size_t)hp->h_length, "addr%u", ii);
+			n = snprintf(nvlname, sizeof(nvlname), "addr%u", ii);
+			assert(n > 0 && n < (int)sizeof(nvlname));
+			nvlist_add_binary(nvl, nvlname, hp->h_addr_list[ii],
+			    (size_t)hp->h_length);
 		}
 		nvlist_add_number(nvl, "naddrs", (uint64_t)ii);
 	}
@@ -271,9 +277,10 @@ dns_getaddrinfo(const nvlist_t *limits, 
 {
 	struct addrinfo hints, *hintsp, *res, *cur;
 	const char *hostname, *servname;
+	char nvlname[64];
 	nvlist_t *elem;
 	unsigned int ii;
-	int error, family;
+	int error, family, n;
 
 	if (!dns_allowed_type(limits, "ADDR"))
 		return (NO_RECOVERY);
@@ -310,7 +317,9 @@ dns_getaddrinfo(const nvlist_t *limits, 
 
 	for (cur = res, ii = 0; cur != NULL; cur = cur->ai_next, ii++) {
 		elem = addrinfo_pack(cur);
-		nvlist_movef_nvlist(nvlout, elem, "res%u", ii);
+		n = snprintf(nvlname, sizeof(nvlname), "res%u", ii);
+		assert(n > 0 && n < (int)sizeof(nvlname));
+		nvlist_move_nvlist(nvlout, nvlname, elem);
 	}
 
 	freeaddrinfo(res);

Modified: head/libexec/casper/grp/grp.c
==============================================================================
--- head/libexec/casper/grp/grp.c	Wed Apr 29 22:19:40 2015	(r282252)
+++ head/libexec/casper/grp/grp.c	Wed Apr 29 22:33:53 2015	(r282253)
@@ -30,6 +30,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+#include <assert.h>
 #include <errno.h>
 #include <grp.h>
 #include <stdlib.h>
@@ -184,6 +185,8 @@ grp_allowed_fields(const nvlist_t *oldli
 static bool
 grp_pack(const nvlist_t *limits, const struct group *grp, nvlist_t *nvl)
 {
+	char nvlname[64];
+	int n;
 
 	if (grp == NULL)
 		return (true);
@@ -210,8 +213,10 @@ grp_pack(const nvlist_t *limits, const s
 		unsigned int ngroups;
 
 		for (ngroups = 0; grp->gr_mem[ngroups] != NULL; ngroups++) {
-			nvlist_addf_string(nvl, grp->gr_mem[ngroups],
-			    "gr_mem[%u]", ngroups);
+			n = snprintf(nvlname, sizeof(nvlname), "gr_mem[%u]",
+			    ngroups);
+			assert(n > 0 && n < sizeof(nvlname));
+			nvlist_add_string(nvl, nvlname, grp->gr_mem[ngroups]);
 		}
 		nvlist_add_number(nvl, "gr_nmem", (uint64_t)ngroups);
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504292233.t3TMXruG080690>