svn commit: r334265 - head/usr.sbin/tcpdrop
Eric van Gyzen
vangyzen at FreeBSD.org
Mon May 28 01:58:51 UTC 2018
Author: vangyzen
Date: Mon May 28 01:58:49 2018
New Revision: 334265
URL: https://svnweb.freebsd.org/changeset/base/334265
Log:
tcpdrop: ensure NUL termination of a string
strncpy did not guarantee NUL termination of the "stack" string.
Use strlcpy instead. While I'm here, avoid unnecessary memset
and strnlen calls.
Reported by: Coverity
CID: 1381035
Sponsored by: Dell EMC
Modified:
head/usr.sbin/tcpdrop/tcpdrop.c
Modified: head/usr.sbin/tcpdrop/tcpdrop.c
==============================================================================
--- head/usr.sbin/tcpdrop/tcpdrop.c Mon May 28 00:19:08 2018 (r334264)
+++ head/usr.sbin/tcpdrop/tcpdrop.c Mon May 28 01:58:49 2018 (r334265)
@@ -73,7 +73,7 @@ main(int argc, char *argv[])
dropall = false;
dropallstack = false;
- memset(stack, 0, TCP_FUNCTION_NAME_LEN_MAX);
+ stack[0] = '\0';
state = -1;
while ((ch = getopt(argc, argv, "alS:s:")) != -1) {
@@ -86,7 +86,7 @@ main(int argc, char *argv[])
break;
case 'S':
dropallstack = true;
- strncpy(stack, optarg, TCP_FUNCTION_NAME_LEN_MAX);
+ strlcpy(stack, optarg, sizeof(stack));
break;
case 's':
dropallstack = true;
@@ -260,7 +260,7 @@ tcpdropall(const char *stack, int state)
continue;
/* If requested, skip sockets not having the requested stack. */
- if (strnlen(stack, TCP_FUNCTION_NAME_LEN_MAX) > 0 &&
+ if (stack[0] != '\0' &&
strncmp(xtp->xt_stack, stack, TCP_FUNCTION_NAME_LEN_MAX))
continue;
More information about the svn-src-all
mailing list