svn commit: r299805 - head/usr.sbin/bsnmpd/tools/libbsnmptools

Garrett Cooper ngie at FreeBSD.org
Sun May 15 00:05:29 UTC 2016


Author: ngie
Date: Sun May 15 00:05:28 2016
New Revision: 299805
URL: https://svnweb.freebsd.org/changeset/base/299805

Log:
  Fix up r299769
  
  Similar to r299802, it was noted that using nitems on scalar pointers is
  invalid.
  
  Use strdup instead of malloc + strlcpy (which is what the old code was doing
  anyhow).
  
  MFC after: 1 week
  Pointyhat to: ngie
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmpmap.c

Modified: head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmpmap.c
==============================================================================
--- head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmpmap.c	Sun May 15 00:03:14 2016	(r299804)
+++ head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmpmap.c	Sun May 15 00:05:28 2016	(r299805)
@@ -273,14 +273,13 @@ enum_pair_insert(struct enum_pairs *head
 		return (-1);
 	}
 
-	if ((e_new->enum_str = malloc(strlen(enum_str) + 1)) == NULL) {
+	if ((e_new->enum_str = strdup(enum_str)) == NULL) {
 		syslog(LOG_ERR, "malloc() failed: %s", strerror(errno));
 		free(e_new);
 		return (-1);
 	}
 
 	e_new->enum_val = enum_val;
-	strlcpy(e_new->enum_str, enum_str, nitems(e_new->enum_str));
 	STAILQ_INSERT_TAIL(headp, e_new, link);
 
 	return (1);
@@ -560,12 +559,11 @@ snmp_enumtc_init(char *name)
 		return (NULL);
 	}
 
-	if ((enum_tc->name = malloc(strlen(name) + 1)) == NULL) {
+	if ((enum_tc->name = strdup(name)) == NULL) {
 		syslog(LOG_ERR, "malloc() failed: %s", strerror(errno));
 		free(enum_tc);
 		return (NULL);
 	}
-	strlcpy(enum_tc->name, name, nitems(enum_tc->name));
 
 	return (enum_tc);
 }


More information about the svn-src-all mailing list