From e31a0e62803c64cab5e150b94c31364a1ce1d0fd Mon Sep 17 00:00:00 2001 From: Vaishali Thakkar Date: Thu, 23 Oct 2014 13:27:46 +0530 Subject: [PATCH] Staging: vme: devices: Use kasprintf This patch uses kasprintf which combines kmalloc and sprintf. kasprintf also takes care of the size calculation. This is done using Coccinelle. Semantic patch used is as follows: @@ expression a,flag; expression list args; statement S; @@ a = - \(kmalloc\|kzalloc\)(...,flag) + kasprintf (flag,args) <... when != a if (a == NULL || ...) S ...> - sprintf(a,args); Signed-off-by: Vaishali Thakkar Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vme/devices/vme_pio2_gpio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/vme/devices/vme_pio2_gpio.c b/drivers/staging/vme/devices/vme_pio2_gpio.c index c64776f71809..da34d5529f51 100644 --- a/drivers/staging/vme/devices/vme_pio2_gpio.c +++ b/drivers/staging/vme/devices/vme_pio2_gpio.c @@ -191,11 +191,11 @@ int pio2_gpio_init(struct pio2_card *card) int retval = 0; char *label; - label = kmalloc(PIO2_NUM_CHANNELS, GFP_KERNEL); + label = kasprintf(GFP_KERNEL, + "%s@%s", driver_name, dev_name(&card->vdev->dev)); if (label == NULL) return -ENOMEM; - sprintf(label, "%s@%s", driver_name, dev_name(&card->vdev->dev)); card->gc.label = label; card->gc.ngpio = PIO2_NUM_CHANNELS; -- 2.39.5