@samitouri / QOSamiQemu / commits / 5f2b4aef27

net/filter: free old values in property setters

netfilter_set_position and netfilter_set_netdev_id overwrote their respective fields with g_strdup without freeing the previous value, leaking memory on each property write. Fixes: fdccce459621 ("init/cleanup of netfilter object") Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Marc-André Lureau committed Apr 27, 2026 at 14:47 UTC 5f2b4aef27292f37ea19af527dbb5a14aa232777
1 file changed +2
net/filter.c
+2
@@ -130,6 +130,7 @@ static void netfilter_set_netdev_id(Object *obj, const char *str, Error **errp)
130 {
131 NetFilterState *nf = NETFILTER(obj);
132
133 + g_free(nf->netdev_id);
134 nf->netdev_id = g_strdup(str);
135 }
136
@@ -182,6 +183,7 @@ static void netfilter_set_position(Object *obj, const char *str, Error **errp)
183 {
184 NetFilterState *nf = NETFILTER(obj);
185
186 + g_free(nf->position);
187 nf->position = g_strdup(str);
188 }
189