From: Ferruh Yigit Date: Thu, 4 Jul 2013 21:02:45 +0000 (-0700) Subject: Input: cyttsp4 - kfree xfer_buf on error path in probe() X-Git-Tag: firefly_0821_release~176^2~541^2~252 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=57961e3ba72f4a8a1aa52e978020ecc2ca03a79f;p=firefly-linux-kernel-4.4.55.git Input: cyttsp4 - kfree xfer_buf on error path in probe() If probe() fails after cd->xfer_buf allocated, it will not freed. Added kfree(cd->xfer_buf) with and error label. Signed-off-by: Ferruh Yigit Signed-off-by: Dmitry Torokhov --- diff --git a/drivers/input/touchscreen/cyttsp4_core.c b/drivers/input/touchscreen/cyttsp4_core.c index a7987e170071..edcf7993034b 100644 --- a/drivers/input/touchscreen/cyttsp4_core.c +++ b/drivers/input/touchscreen/cyttsp4_core.c @@ -2049,7 +2049,7 @@ struct cyttsp4 *cyttsp4_probe(const struct cyttsp4_bus_ops *ops, cd->irq = gpio_to_irq(cd->cpdata->irq_gpio); if (cd->irq < 0) { rc = -EINVAL; - goto error_free_cd; + goto error_free_xfer; } dev_set_drvdata(dev, cd); @@ -2117,6 +2117,8 @@ error_request_irq: if (cd->cpdata->init) cd->cpdata->init(cd->cpdata, 0, dev); dev_set_drvdata(dev, NULL); +error_free_xfer: + kfree(cd->xfer_buf); error_free_cd: kfree(cd); error_alloc_data: