From: Marc-André Lureau <[email protected]>
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 <[email protected]>
Signed-off-by: Marc-André Lureau <[email protected]>
---
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 8a57ae07178..be67ed7f5a9 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,
};
--
2.54.0