Mercurial > hg > dhcpcd
changeset 953:0aaa42617924 draft
ocets might as well be size_t. This also fixes a segfault whe compiled with pcc.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Sat, 06 Sep 2008 18:43:27 +0000 |
| parents | e7d13ecba805 |
| children | 2f3a1145cdf1 |
| files | dhcp.c |
| diffstat | 1 files changed, 5 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/dhcp.c Sat Sep 06 18:24:27 2008 +0000 +++ b/dhcp.c Sat Sep 06 18:43:27 2008 +0000 @@ -443,10 +443,8 @@ decode_rfc3442(char *out, ssize_t len, int pl, const uint8_t *p) { const uint8_t *e; - ssize_t bytes = 0; - ssize_t b; + ssize_t b, bytes = 0, ocets; uint8_t cidr; - uint8_t ocets; struct in_addr addr; char *o = out; @@ -480,7 +478,7 @@ /* If we have ocets then we have a destination and netmask */ if (ocets > 0) { addr.s_addr = 0; - memcpy(&addr.s_addr, p, (size_t)ocets); + memcpy(&addr.s_addr, p, ocets); b = snprintf(o, len, "%s/%d", inet_ntoa(addr), cidr); p += ocets; } else @@ -507,7 +505,7 @@ const uint8_t *p = data; const uint8_t *e; uint8_t cidr; - uint8_t ocets; + size_t ocets; struct rt *routes = NULL; struct rt *rt = NULL; @@ -535,8 +533,8 @@ ocets = (cidr + 7) / 8; /* If we have ocets then we have a destination and netmask */ if (ocets > 0) { - memcpy(&rt->dest.s_addr, p, (size_t)ocets); - memset(&rt->net.s_addr, 255, (size_t)ocets - 1); + memcpy(&rt->dest.s_addr, p, ocets); + memset(&rt->net.s_addr, 255, ocets); memset((uint8_t *)&rt->net.s_addr + (ocets - 1), (256 - (1 << (32 - cidr) % 8)), 1);
