chiark / gitweb /
sd-dhcp-lease: fix double realloc
[elogind.git] / src / libsystemd-network / sd-dhcp-lease.c
index 648e6e2159b9f45a11ef775cc4a9613b0a148e10..acdcca87ecf61bc5c4a691e8924347de04ad9e3c 100644 (file)
@@ -330,12 +330,13 @@ static int deserialize_addresses(struct in_addr **addresses, size_t *size, const
                 new_addresses = realloc(*addresses, (*size + 1) * sizeof(struct in_addr));
                 if (!new_addresses)
                         return -ENOMEM;
+                else
+                        *addresses = new_addresses;
 
                 r = inet_aton(word, &(new_addresses[*size]));
                 if (r < 0)
                         continue;
 
-                *addresses = new_addresses;
                 (*size)++;
         }