@samitouri / QOSamiQemu / commits / be9a6eafa5

net/can: free ifname on socketcan finalization

can_host_socketcan_set_if allocates ifname via g_strdup, but no instance_finalize existed to free it. Fixes: ea15ea8a7c67 ("net/can: support for connecting to Linux host SocketCAN interface.") Acked-by: Pavel Pisa <pisa@fel.cvut.cz> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Marc-André Lureau committed Apr 27, 2026 at 14:53 UTC be9a6eafa5511332f5f0aa67b9a085246a232873
1 file changed +8
net/can/can_socketcan.c
+8
@@ -319,11 +319,19 @@ static void can_host_socketcan_class_init(ObjectClass *klass,
319 chc->disconnect = can_host_socketcan_disconnect;
320 }
321
322 +static void can_host_socketcan_finalize(Object *obj)
323 +{
324 + CanHostSocketCAN *c = CAN_HOST_SOCKETCAN(obj);
325 +
326 + g_free(c->ifname);
327 +}
328 +
329 static const TypeInfo can_host_socketcan_info = {
330 .parent = TYPE_CAN_HOST,
331 .name = TYPE_CAN_HOST_SOCKETCAN,
332 .instance_size = sizeof(CanHostSocketCAN),
333 .instance_init = can_host_socketcan_instance_init,
334 + .instance_finalize = can_host_socketcan_finalize,
335 .class_init = can_host_socketcan_class_init,
336 };
337