From be9a6eafa5511332f5f0aa67b9a085246a232873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Mon, 27 Apr 2026 14:53:33 +0400 Subject: [PATCH] net/can: free ifname on socketcan finalization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Marc-André Lureau --- net/can/can_socketcan.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/net/can/can_socketcan.c b/net/can/can_socketcan.c index 8a57ae0717..be67ed7f5a 100644 --- a/net/can/can_socketcan.c +++ b/net/can/can_socketcan.c @@ -319,11 +319,19 @@ static void can_host_socketcan_class_init(ObjectClass *klass, chc->disconnect = can_host_socketcan_disconnect; } +static void can_host_socketcan_finalize(Object *obj) +{ + CanHostSocketCAN *c = CAN_HOST_SOCKETCAN(obj); + + g_free(c->ifname); +} + static const TypeInfo can_host_socketcan_info = { .parent = TYPE_CAN_HOST, .name = TYPE_CAN_HOST_SOCKETCAN, .instance_size = sizeof(CanHostSocketCAN), .instance_init = can_host_socketcan_instance_init, + .instance_finalize = can_host_socketcan_finalize, .class_init = can_host_socketcan_class_init, };