staging: unisys: visorbus: Fix memory leak
authorZachary Dremann <dremann@gmail.com>
Mon, 17 Jul 2017 20:17:03 +0000 (16:17 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Jul 2017 06:48:42 +0000 (08:48 +0200)
The name of a visor_device was never freed, which was allocated in
visorbus_configure.

It is expected that visorbus_device_destroy will not be called on the
same visor_device again, or this would be a double free.

Signed-off-by: Zachary Dremann <dremann@gmail.com>
Signed-off-by: David Kershner <david.kershner@unisys.com>
Reviewed-by: David Binder <david.binder@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/unisys/visorbus/visorchipset.c

index 160a63e..aa6ee41 100644 (file)
@@ -933,6 +933,7 @@ visorbus_device_destroy(struct controlvm_message *inmsg)
                dev_info->pending_msg_hdr = pmsg_hdr;
        }
 
+       kfree(dev_info->name);
        visorchipset_device_destroy(dev_info);
        return 0;