kasprintf combines kmalloc and sprintf, and takes care of the size calculation itself. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Cc: Ian Abbott <abbotti@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/comedi/drivers/jr3_pci.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/drivers/staging/comedi/drivers/jr3_pci.c b/drivers/staging/comedi/drivers/jr3_pci.c index c240e6d..42e78d1 100644 --- a/drivers/staging/comedi/drivers/jr3_pci.c +++ b/drivers/staging/comedi/drivers/jr3_pci.c @@ -101,15 +101,11 @@ static int comedi_load_firmware(struct comedi_device *dev, const char *name, int result = 0; const struct firmware *fw; char *firmware_path; - static const char *prefix = "comedi/"; - firmware_path = kmalloc(strlen(prefix) + strlen(name) + 1, GFP_KERNEL); + firmware_path = kasprintf(GFP_KERNEL, "comedi/%s", name); if (!firmware_path) { result = -ENOMEM; } else { - firmware_path[0] = '\0'; - strcat(firmware_path, prefix); - strcat(firmware_path, name); result = request_firmware(&fw, firmware_path, &pcidev->dev); if (result == 0) { if (!cb) -- 1.8.1.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel