From: Javier Martinez Canillas <martinez.javier@xxxxxxxxxxxx> In the cyttsp_probe() function the struct device *dev pointer was dereferenced before checking if it was NULL. Now dev is never NULL since both I2C and SPI bus drivers pass a pointer to a member of an previously allocated structure. But others bus drivers can do it differently so is better to sanity check instead of trust in the callers. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> --- drivers/input/touchscreen/cyttsp_core.c | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/input/touchscreen/cyttsp_core.c b/drivers/input/touchscreen/cyttsp_core.c index 8be2247..071e5ae8 100644 --- a/drivers/input/touchscreen/cyttsp_core.c +++ b/drivers/input/touchscreen/cyttsp_core.c @@ -518,12 +518,19 @@ static void cyttsp_close(struct input_dev *dev) struct cyttsp *cyttsp_probe(const struct cyttsp_bus_ops *bus_ops, struct device *dev, int irq, size_t xfer_buf_size) { - const struct cyttsp_platform_data *pdata = dev->platform_data; + const struct cyttsp_platform_data *pdata; struct cyttsp *ts; struct input_dev *input_dev; int error; - if (!dev || !bus_ops || !pdata || !pdata->name || irq <= 0) { + if (!dev || !bus_ops || !dev->platform_data || irq <= 0) { + error = -EINVAL; + goto err_out; + } + + pdata = dev->platform_data; + + if (!pdata->name) { error = -EINVAL; goto err_out; } -- 1.7.7.6 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html