On Sat, 14 May 2016, Garrett Cooper wrote:

Log:
 Fix up r299764

 I meant to use nitems, not sizeof(..) with the destination buffer. Using 
sizeof(..)
 on a pointer will always truncate the output in the destination buffer 
incorrectly

 Pointyhat to: ngie

Er, this is pointier than before.  nitems() is only valid on arrays.

Modified: head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c
==============================================================================
--- head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c       Sat May 14 
22:40:35 2016        (r299769)
+++ head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c       Sat May 14 
22:43:07 2016        (r299770)
@@ -264,7 +264,7 @@ add_filename(struct snmp_toolinfo *snmpt

        if (cut != NULL)
                asn_append_oid(&(entry->cut), cut);
-       strlcpy(fstring, filename, sizeof(fstring));
+       strlcpy(fstring, filename, nitems(fstring));

fstring is pointer to char, so nitems(fstring) = sizeof(char *) / 1
sizeof(char *) = accidentally the same wrong value as before.

The old code using strlen() had a chance of being correct.

Bruce
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to