From: Xiubo Li Date: Wed, 24 Sep 2014 06:30:29 +0000 (+0800) Subject: spi: Fix possible ZERO_SIZE_PTR pointer dereferencing error. X-Git-Tag: v3.18-rc1~145^2~6^2 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=c7908a37aeee2a038d7b1492eae29750d8738d2e;p=linux.git spi: Fix possible ZERO_SIZE_PTR pointer dereferencing error. Since we cannot make sure the 'n' will always be none zero here, and then if either equal to zero, the kzalloc() will return ZERO_SIZE_PTR, which equals to ((void *)16). So this patch fix this with just doing the zero check before calling kzalloc(). Signed-off-by: Xiubo Li Signed-off-by: Mark Brown --- diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 0edccc82ece5..cc83cdd969ce 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -552,6 +552,9 @@ int spi_register_board_info(struct spi_board_info const *info, unsigned n) struct boardinfo *bi; int i; + if (!n) + return -EINVAL; + bi = kzalloc(n * sizeof(*bi), GFP_KERNEL); if (!bi) return -ENOMEM;