mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-08 12:28:11 +02:00
sd-dhcp6: do not update serverid when ENOMEM
(cherry picked from commit 33d367589581a9f46fe291181ef2b30b812e5cb3)
This commit is contained in:
parent
a7137ce0ce
commit
1990a3efab
1 changed files with 6 additions and 5 deletions
|
|
@ -54,15 +54,16 @@ DHCP6IA *dhcp6_lease_free_ia(DHCP6IA *ia) {
|
||||||
|
|
||||||
int dhcp6_lease_set_serverid(sd_dhcp6_lease *lease, const uint8_t *id,
|
int dhcp6_lease_set_serverid(sd_dhcp6_lease *lease, const uint8_t *id,
|
||||||
size_t len) {
|
size_t len) {
|
||||||
|
uint8_t *serverid;
|
||||||
|
|
||||||
assert_return(lease, -EINVAL);
|
assert_return(lease, -EINVAL);
|
||||||
assert_return(id, -EINVAL);
|
assert_return(id, -EINVAL);
|
||||||
|
|
||||||
free(lease->serverid);
|
serverid = memdup(id, len);
|
||||||
|
if (!serverid)
|
||||||
lease->serverid = memdup(id, len);
|
return -ENOMEM;
|
||||||
if (!lease->serverid)
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
|
free_and_replace(lease->serverid, serverid);
|
||||||
lease->serverid_len = len;
|
lease->serverid_len = len;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue