Input: Fix memory leak in psxpad_spi_probe
authorNavid Emamdoost <navid.emamdoost@gmail.com>
Thu, 21 Nov 2019 20:01:11 +0000 (14:01 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 13 Dec 2019 07:42:44 +0000 (08:42 +0100)
In the implementation of psxpad_spi_probe() the allocated memory for
pdev is leaked if psxpad_spi_init_ff() or input_register_polled_device()
fail. The solution is using device managed allocation, like the one used
for pad. Perform the allocation using
devm_input_allocate_polled_device().

Fixes: 8be193c7b1f4 ("Input: add support for PlayStation 1/2 joypads connected via SPI")
Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/input/joystick/psxpad-spi.c

index 7eee1b0..99a6052 100644 (file)
@@ -292,7 +292,7 @@ static int psxpad_spi_probe(struct spi_device *spi)
        if (!pad)
                return -ENOMEM;
 
-       pdev = input_allocate_polled_device();
+       pdev = devm_input_allocate_polled_device(&spi->dev);
        if (!pdev) {
                dev_err(&spi->dev, "failed to allocate input device\n");
                return -ENOMEM;