Free connman_ipaddress prior to allocating the new one.
---
 plugins/ofono.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/plugins/ofono.c b/plugins/ofono.c
index 7af551b..7a8442b 100644
--- a/plugins/ofono.c
+++ b/plugins/ofono.c
@@ -755,6 +755,10 @@ static void extract_ipv4_settings(DBusMessageIter *array,
        const char *interface = NULL;
        int index = -1;
 
+       connman_ipaddress_free(context->ipv4_address);
+       context->ipv4_address = NULL;
+       context->index = -1;
+
        if (dbus_message_iter_get_arg_type(array) != DBUS_TYPE_ARRAY)
                return;
 
@@ -854,6 +858,10 @@ static void extract_ipv6_settings(DBusMessageIter *array,
        const char *interface = NULL;
        int index = -1;
 
+       connman_ipaddress_free(context->ipv6_address);
+       context->ipv6_address = NULL;
+       context->index = -1;
+
        if (dbus_message_iter_get_arg_type(array) != DBUS_TYPE_ARRAY)
                return;
 
-- 
1.8.3.2

_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to