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