From: Xiubo Li Date: Mon, 18 Aug 2014 09:08:44 +0000 (+0800) Subject: pwm: Fix possible ZERO_SIZE_PTR pointer dereferencing error. X-Git-Tag: v3.18-rc2~21^2~7 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=533acc0e8df7d6553f11cf91c177211cb6037968;p=karo-tx-linux.git pwm: Fix possible ZERO_SIZE_PTR pointer dereferencing error. Since we cannot make sure the 'chip->npwm' 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: Thierry Reding --- diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c index d2c35920ff08..8c748b17f416 100644 --- a/drivers/pwm/core.c +++ b/drivers/pwm/core.c @@ -236,7 +236,7 @@ int pwmchip_add(struct pwm_chip *chip) int ret; if (!chip || !chip->dev || !chip->ops || !chip->ops->config || - !chip->ops->enable || !chip->ops->disable) + !chip->ops->enable || !chip->ops->disable || !chip->npwm) return -EINVAL; mutex_lock(&pwm_lock);