ASoC: soc-core: Replace use of strncpy() with strlcpy()
authorDimitris Papastamos <dp@opensource.wolfsonmicro.com>
Mon, 6 Dec 2010 15:42:17 +0000 (15:42 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 6 Dec 2010 19:15:03 +0000 (19:15 +0000)
By using strncpy() if the source string does not have a null byte in the
first n bytes, then the destination string is not null-terminated.
This can be fixed in a two-step process by manually null-terminating the
array after the use of strncpy() or by using strlcpy().

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/soc-core.c

index b3605a1c8c467d3634d82ddcf6e49b0aa6c56d2d..b2c327b14b00c27086adf422edf91ce1bc178d83 100644 (file)
@@ -3183,7 +3183,7 @@ static inline char *fmt_single_name(struct device *dev, int *id)
        if (dev_name(dev) == NULL)
                return NULL;
 
-       strncpy(name, dev_name(dev), NAME_SIZE);
+       strlcpy(name, dev_name(dev), NAME_SIZE);
 
        /* are we a "%s.%d" name (platform and SPI components) */
        found = strstr(name, dev->driver->name);
@@ -3206,7 +3206,7 @@ static inline char *fmt_single_name(struct device *dev, int *id)
 
                        /* sanitize component name for DAI link creation */
                        snprintf(tmp, NAME_SIZE, "%s.%s", dev->driver->name, name);
-                       strncpy(name, tmp, NAME_SIZE);
+                       strlcpy(name, tmp, NAME_SIZE);
                } else
                        *id = 0;
        }