kasprintf combines kmalloc and sprintf, and takes care of the size
calculation itself.

Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Ian Abbott <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
---
 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
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to