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