diff options
author | Christian Weisgerber <naddy@FreeBSD.org> | 2008-11-13 22:17:28 +0000 |
---|---|---|
committer | Christian Weisgerber <naddy@FreeBSD.org> | 2008-11-13 22:17:28 +0000 |
commit | 2042b740ed9071c4dc163663e3febc0dd462f37b (patch) | |
tree | f81b817f2de2c497bf0cf747b845c1a4cdd5d4f7 /net/ptpd/files/patch-src-dep_net.c | |
parent | - Mark FORBIDDEN (a lot security issus http://www.vuxml.org/freebsd/f29fea8f-... (diff) |
* Fix out-of-bound string accesses.
* Fix %m GNUism in printf.
* Don't create the man page, it is already included.
* ptpd is not a user command, put it into sbin.
* Overhaul the startup file and move it to "ptpd".
Approved by: gnn (maintainer)
Notes
Notes:
svn path=/head/; revision=222812
Diffstat (limited to 'net/ptpd/files/patch-src-dep_net.c')
-rw-r--r-- | net/ptpd/files/patch-src-dep_net.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/net/ptpd/files/patch-src-dep_net.c b/net/ptpd/files/patch-src-dep_net.c new file mode 100644 index 000000000000..884b6265efd1 --- /dev/null +++ b/net/ptpd/files/patch-src-dep_net.c @@ -0,0 +1,36 @@ +--- dep/net.c.orig ++++ dep/net.c +@@ -8,26 +8,26 @@ + + /* set multicast group address based on subdomainName */ + if (!memcmp(subdomainName, DEFAULT_PTP_DOMAIN_NAME, PTP_SUBDOMAIN_NAME_LENGTH)) +- memcpy(subdomainAddress, DEFAULT_PTP_DOMAIN_ADDRESS, NET_ADDRESS_LENGTH); ++ strncpy(subdomainAddress, DEFAULT_PTP_DOMAIN_ADDRESS, NET_ADDRESS_LENGTH); + else if(!memcmp(subdomainName, ALTERNATE_PTP_DOMAIN1_NAME, PTP_SUBDOMAIN_NAME_LENGTH)) +- memcpy(subdomainAddress, ALTERNATE_PTP_DOMAIN1_ADDRESS, NET_ADDRESS_LENGTH); ++ strncpy(subdomainAddress, ALTERNATE_PTP_DOMAIN1_ADDRESS, NET_ADDRESS_LENGTH); + else if(!memcmp(subdomainName, ALTERNATE_PTP_DOMAIN2_NAME, PTP_SUBDOMAIN_NAME_LENGTH)) +- memcpy(subdomainAddress, ALTERNATE_PTP_DOMAIN2_ADDRESS, NET_ADDRESS_LENGTH); ++ strncpy(subdomainAddress, ALTERNATE_PTP_DOMAIN2_ADDRESS, NET_ADDRESS_LENGTH); + else if(!memcmp(subdomainName, ALTERNATE_PTP_DOMAIN3_NAME, PTP_SUBDOMAIN_NAME_LENGTH)) +- memcpy(subdomainAddress, ALTERNATE_PTP_DOMAIN3_ADDRESS, NET_ADDRESS_LENGTH); ++ strncpy(subdomainAddress, ALTERNATE_PTP_DOMAIN3_ADDRESS, NET_ADDRESS_LENGTH); + else + { + h = crc_algorithm(subdomainName, PTP_SUBDOMAIN_NAME_LENGTH) % 3; + switch(h) + { + case 0: +- memcpy(subdomainAddress, ALTERNATE_PTP_DOMAIN1_ADDRESS, NET_ADDRESS_LENGTH); ++ strncpy(subdomainAddress, ALTERNATE_PTP_DOMAIN1_ADDRESS, NET_ADDRESS_LENGTH); + break; + case 1: +- memcpy(subdomainAddress, ALTERNATE_PTP_DOMAIN2_ADDRESS, NET_ADDRESS_LENGTH); ++ strncpy(subdomainAddress, ALTERNATE_PTP_DOMAIN2_ADDRESS, NET_ADDRESS_LENGTH); + break; + case 2: +- memcpy(subdomainAddress, ALTERNATE_PTP_DOMAIN3_ADDRESS, NET_ADDRESS_LENGTH); ++ strncpy(subdomainAddress, ALTERNATE_PTP_DOMAIN3_ADDRESS, NET_ADDRESS_LENGTH); + break; + default: + ERROR("handle out of range for '%s'!\n", subdomainName); |