Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Oct 2014 11:21:48 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r273733 - head/sys/netinet/cc
Message-ID:  <201410271121.s9RBLmOv095539@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Mon Oct 27 11:21:47 2014
New Revision: 273733
URL: https://svnweb.freebsd.org/changeset/base/273733

Log:
  Make assignments to "net.inet.tcp.cc.algorithm" work by fixing a bad
  string comparison.
  
  MFC after:	3 days
  Reported by:	Jukka Ukkonen <jau789@gmail.com>
  Sponsored by:	Mellanox Technologies

Modified:
  head/sys/netinet/cc/cc.c

Modified: head/sys/netinet/cc/cc.c
==============================================================================
--- head/sys/netinet/cc/cc.c	Mon Oct 27 10:34:09 2014	(r273732)
+++ head/sys/netinet/cc/cc.c	Mon Oct 27 11:21:47 2014	(r273733)
@@ -106,11 +106,13 @@ cc_default_algo(SYSCTL_HANDLER_ARGS)
 		/* Find algo with specified name and set it to default. */
 		CC_LIST_RLOCK();
 		STAILQ_FOREACH(funcs, &cc_list, entries) {
-			if (strncmp((char *)req->newptr, funcs->name,
-			    TCP_CA_NAME_MAX) == 0) {
-				found = 1;
-				V_default_cc_ptr = funcs;
-			}
+			/* NOTE: "newptr" is not zero terminated */
+			if (req->newlen != strlen(funcs->name))
+				continue;
+			if (bcmp(req->newptr, funcs->name, req->newlen))
+				continue;
+			found = 1;
+			V_default_cc_ptr = funcs;
 		}
 		CC_LIST_RUNLOCK();
 



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