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 160a63ef70e46d4a42b129dbdbb6945af2bac9b7..aa6ee41b2828348cc7fab81c5a3ae69d47643002 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;