pinctrl: exynos5440: fix issues reported by prevent tool
authorThomas Abraham <thomas.ab@samsung.com>
Thu, 6 Jun 2013 01:22:03 +0000 (10:22 +0900)
committerLinus Walleij <linus.walleij@linaro.org>
Sun, 16 Jun 2013 09:56:52 +0000 (11:56 +0200)
This patch fixes issues reported by prevent tool.

Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
[Drop hunk already in-tree from a patch by Wei Yongjun]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-exynos5440.c

index 32a48f44f574264f5c1b320e00db8065f1ba0616..3b283fd898ff54c9ab7b1dbdc3a2dd3c8dff0d53 100644 (file)
@@ -220,7 +220,7 @@ static int exynos5440_dt_node_to_map(struct pinctrl_dev *pctldev,
                dev_err(dev, "failed to alloc memory for group name\n");
                goto free_map;
        }
-       sprintf(gname, "%s%s", np->name, GROUP_SUFFIX);
+       snprintf(gname, strlen(np->name) + 4, "%s%s", np->name, GROUP_SUFFIX);
 
        /*
         * don't have config options? then skip over to creating function
@@ -259,7 +259,8 @@ skip_cfgs:
                        dev_err(dev, "failed to alloc memory for func name\n");
                        goto free_cfg;
                }
-               sprintf(fname, "%s%s", np->name, FUNCTION_SUFFIX);
+               snprintf(fname, strlen(np->name) + 4, "%s%s", np->name,
+                        FUNCTION_SUFFIX);
 
                map[*nmaps].data.mux.group = gname;
                map[*nmaps].data.mux.function = fname;
@@ -713,7 +714,8 @@ static int exynos5440_pinctrl_parse_dt(struct platform_device *pdev,
                        dev_err(dev, "failed to alloc memory for group name\n");
                        return -ENOMEM;
                }
-               sprintf(gname, "%s%s", cfg_np->name, GROUP_SUFFIX);
+               snprintf(gname, strlen(cfg_np->name) + 4, "%s%s", cfg_np->name,
+                        GROUP_SUFFIX);
 
                grp->name = gname;
                grp->pins = pin_list;
@@ -733,7 +735,8 @@ skip_to_pin_function:
                        dev_err(dev, "failed to alloc memory for func name\n");
                        return -ENOMEM;
                }
-               sprintf(fname, "%s%s", cfg_np->name, FUNCTION_SUFFIX);
+               snprintf(fname, strlen(cfg_np->name) + 4, "%s%s", cfg_np->name,
+                        FUNCTION_SUFFIX);
 
                func->name = fname;
                func->groups = devm_kzalloc(dev, sizeof(char *), GFP_KERNEL);
@@ -806,7 +809,7 @@ static int exynos5440_pinctrl_register(struct platform_device *pdev,
 
        /* for each pin, set the name of the pin */
        for (pin = 0; pin < ctrldesc->npins; pin++) {
-               sprintf(pin_names, "gpio%02d", pin);
+               snprintf(pin_names, 6, "gpio%02d", pin);
                pdesc = pindesc + pin;
                pdesc->name = pin_names;
                pin_names += PIN_NAME_LENGTH;