From: Kay Sievers Date: Sat, 2 Nov 2013 01:35:23 +0000 (+0100) Subject: bus: make bus_map_all_properties() call idempotent X-Git-Tag: v209~1677 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=164ddcfae8bf33b8308928f01597882da2a86977;p=elogind.git bus: make bus_map_all_properties() call idempotent --- diff --git a/src/libsystemd-bus/bus-util.c b/src/libsystemd-bus/bus-util.c index 857e0c16e..bb5dd29a5 100644 --- a/src/libsystemd-bus/bus-util.c +++ b/src/libsystemd-bus/bus-util.c @@ -656,7 +656,7 @@ int bus_map_all_properties(sd_bus *bus, break; for (i = 0; map[i].type; i++) { - const char **p; + char **p; if (!streq(map[i].type, "s")) continue; @@ -664,6 +664,7 @@ int bus_map_all_properties(sd_bus *bus, continue; p = map[i].ptr; + free(*p); *p = strdup(s); if (!*p) { r = -ENOMEM;