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
This commit is contained in:
ngie 2016-05-15 00:05:28 +00:00
parent 850d53b85c
commit c06a117270

View File

@ -273,14 +273,13 @@ enum_pair_insert(struct enum_pairs *headp, int32_t enum_val, char *enum_str)
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);
}