Thread (4 messages) flat view 4 messages, 4 authors, 2012-09-14

[PATCH] pinctrl: use kasprintf() in pinmux_request_gpio()

From: Colin Cross <hidden>
Date: 2012-09-14 07:18:55
Also in: lkml

On Thu, Sep 13, 2012 at 10:19 PM, Joe Perches [off-list ref] wrote:
On Thu, 2012-09-13 at 21:49 +0200, Thomas Petazzoni wrote:
quoted
Instead of using a temporary buffer, snprintf() and kstrdup(), just
use kasprintf() that does the same thing in just oneline.

Signed-off-by: Thomas Petazzoni <redacted>
---
 drivers/pinctrl/pinmux.c |    5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c
index 3d5ac73..9301a7a 100644
--- a/drivers/pinctrl/pinmux.c
+++ b/drivers/pinctrl/pinmux.c
@@ -232,14 +232,11 @@ int pinmux_request_gpio(struct pinctrl_dev *pctldev,
                      struct pinctrl_gpio_range *range,
                      unsigned pin, unsigned gpio)
 {
-     char gpiostr[16];
      const char *owner;
      int ret;

      /* Conjure some name stating what chip and pin this is taken by */
-     snprintf(gpiostr, 15, "%s:%d", range->name, gpio);
-
-     owner = kstrdup(gpiostr, GFP_KERNEL);
+     owner = kasprintf(GFP_KERNEL, "%s:%d", range->name, gpio);
      if (!owner)
              return -EINVAL;
No not really.  It's a bit different because the first
snprintf is length limited but the kasprintf is not.
The one it's replacing is worse, it never sets gpiostr[15] to 0 and
kstrdup will read past the end of the buffer if the string is
truncated.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help