diff options
author | Gustavo A. R. Silva <garsilva@embeddedor.com> | 2017-07-07 02:46:30 -0400 |
---|---|---|
committer | Jonathan Cameron <Jonathan.Cameron@huawei.com> | 2017-07-09 14:04:23 -0400 |
commit | 2f9aeeed92a2911e8f1ec89cf7f5c16b8d054fe5 (patch) | |
tree | 9f67676a2ad1d0f5e03bb506df5bd635bc797e7f /drivers/iio/adc/meson_saradc.c | |
parent | 0503deb820b19ffdefa5b0cc6557b2d2a7fdfc5c (diff) |
iio: adc: meson-saradc: add NULL check on of_match_device() return value
Check return value from call to of_match_device()
in order to prevent a NULL pointer dereference.
In case of NULL print error message and return -ENODEV
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/adc/meson_saradc.c')
-rw-r--r-- | drivers/iio/adc/meson_saradc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c index 83da50ed73ab..c4e904bbf168 100644 --- a/drivers/iio/adc/meson_saradc.c +++ b/drivers/iio/adc/meson_saradc.c | |||
@@ -915,6 +915,11 @@ static int meson_sar_adc_probe(struct platform_device *pdev) | |||
915 | init_completion(&priv->done); | 915 | init_completion(&priv->done); |
916 | 916 | ||
917 | match = of_match_device(meson_sar_adc_of_match, &pdev->dev); | 917 | match = of_match_device(meson_sar_adc_of_match, &pdev->dev); |
918 | if (!match) { | ||
919 | dev_err(&pdev->dev, "failed to match device\n"); | ||
920 | return -ENODEV; | ||
921 | } | ||
922 | |||
918 | priv->data = match->data; | 923 | priv->data = match->data; |
919 | 924 | ||
920 | indio_dev->name = priv->data->name; | 925 | indio_dev->name = priv->data->name; |