chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4684469
)
sd-dhcp-leaes: use newdup()
author
Tom Gundersen
<teg@jklm.no>
Tue, 29 Apr 2014 10:46:06 +0000
(12:46 +0200)
committer
Tom Gundersen
<teg@jklm.no>
Tue, 29 Apr 2014 10:46:06 +0000
(12:46 +0200)
src/libsystemd-network/sd-dhcp-lease.c
patch
|
blob
|
history
diff --git
a/src/libsystemd-network/sd-dhcp-lease.c
b/src/libsystemd-network/sd-dhcp-lease.c
index 69418d98eaedec483e73655b3babf7a87058e190..61822abd267b06ca127a269cff05778ade3e8124 100644
(file)
--- a/
src/libsystemd-network/sd-dhcp-lease.c
+++ b/
src/libsystemd-network/sd-dhcp-lease.c
@@
-211,36
+211,24
@@
int dhcp_lease_parse_options(uint8_t code, uint8_t len, const uint8_t *option,
case DHCP_OPTION_DOMAIN_NAME_SERVER:
if (len && !(len % 4)) {
case DHCP_OPTION_DOMAIN_NAME_SERVER:
if (len && !(len % 4)) {
- unsigned i;
-
lease->dns_size = len / 4;
free(lease->dns);
lease->dns_size = len / 4;
free(lease->dns);
- lease->dns = new
0(struct in_addr
, lease->dns_size);
+ lease->dns = new
dup(struct in_addr, option
, lease->dns_size);
if (!lease->dns)
return -ENOMEM;
if (!lease->dns)
return -ENOMEM;
-
- for (i = 0; i < lease->dns_size; i++) {
- memcpy(&lease->dns[i].s_addr, option + 4 * i, 4);
- }
}
break;
case DHCP_OPTION_NTP_SERVER:
if (len && !(len % 4)) {
}
break;
case DHCP_OPTION_NTP_SERVER:
if (len && !(len % 4)) {
- unsigned i;
-
lease->ntp_size = len / 4;
free(lease->ntp);
lease->ntp_size = len / 4;
free(lease->ntp);
- lease->ntp = new
0(struct in_addr
, lease->ntp_size);
+ lease->ntp = new
dup(struct in_addr, option
, lease->ntp_size);
if (!lease->ntp)
return -ENOMEM;
if (!lease->ntp)
return -ENOMEM;
-
- for (i = 0; i < lease->ntp_size; i++) {
- memcpy(&lease->ntp[i].s_addr, option + 4 * i, 4);
- }
}
break;
}
break;