Date: Mon, 11 Jun 2018 18:08:42 GMT From: sduo@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r337261 - soc2018/sduo/head/sys/dev/vale_vlan Message-ID: <201806111808.w5BI8gpU023073@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sduo Date: Mon Jun 11 18:08:40 2018 New Revision: 337261 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=337261 Log: use strncmp() instead of strcmp() Modified: soc2018/sduo/head/sys/dev/vale_vlan/vale_vlan.c Modified: soc2018/sduo/head/sys/dev/vale_vlan/vale_vlan.c ============================================================================== --- soc2018/sduo/head/sys/dev/vale_vlan/vale_vlan.c Tue Jun 5 00:35:49 2018 (r337260) +++ soc2018/sduo/head/sys/dev/vale_vlan/vale_vlan.c Mon Jun 11 18:08:40 2018 (r337261) @@ -335,7 +335,9 @@ } for (i = 0; i < MAX_VLAN_CONFS; ++i) { - if (strcmp(vlan_confs[i].conf_name, conf_name) == 0) { + if (strncmp(vlan_confs[i].conf_name, + conf_name, + sizeof(vlan_confs[i].conf_name)) == 0) { nm_prinf("vale_vlan: a configuration named" "'%s' alredy exists\n", conf_name); return EEXIST; @@ -359,6 +361,8 @@ conf = &vlan_confs[free_conf]; initialize_conf(conf); strncpy(conf->conf_name, conf_name, sizeof(conf->conf_name)); + /* makes sure the string is null-byte ended */ + conf->conf_name[sizeof(conf->conf_name)-1] = '\0'; conf->mod_bdg_auth_token = auth_token; *conf_index = free_conf; @@ -399,7 +403,9 @@ for (i = 0; i < active_vlan_conf; ++i) { int index = vlan_conf_index[i]; - if (strcmp(vlan_confs[index].conf_name, conf_name) == 0) { + if (strncmp(vlan_confs[index].conf_name, + conf_name, + sizeof(vlan_confs[index].conf_name)) == 0) { *conf_index = index; nm_prinf("vale_vlan: successfully selected " "configuration '%s'\n", conf_name); @@ -429,7 +435,9 @@ for (i = 0; i < active_vlan_conf; ++i) { int index = vlan_conf_index[i]; - if (strcmp(vlan_confs[index].conf_name, conf_name) == 0) { + if (strncmp(vlan_confs[index].conf_name, + conf_name, + sizeof(vlan_confs[index].conf_name)) == 0) { conf = &vlan_confs[index]; conf_index = i; break; @@ -538,6 +546,7 @@ hdr.nr_version = NM_API_VERSION; hdr.nr_reqtype = NETMAP_REQ_VALE_NEWIF; strncpy(hdr.nr_name, name, sizeof(hdr.nr_name)); + hdr.nr_name[sizeof(hdr.nr_name)-1] = '\0'; bzero(&newif, sizeof(newif)); hdr.nr_body = (uint64_t)&newif; @@ -602,7 +611,9 @@ struct port_elem *next = NULL; vv_list_foreach_safe(cursor, &conf->port_list, list, next) { - if (strcmp(cursor->port_desc.port_name, port_name) == 0) { + if (strncmp(cursor->port_desc.port_name, + port_name) == 0 + sizeof(cursor->port_desc.port_name)) { vv_list_remove(cursor, list); vv_free(cursor); return 0;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806111808.w5BI8gpU023073>