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 <jau...@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();
 
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to