]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
regulator: core: use snprintf() instead of scnprintf()
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 6 Mar 2017 16:34:48 +0000 (17:34 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 7 Mar 2017 12:07:21 +0000 (13:07 +0100)
When creating the link to the device sysfs entry, the regulator core
calls scnprintf() and then checks if the returned value is greater or
equal than the buffer size.

The former can never happen as scnprintf() returns the number of bytes
that were actually written to the buffer, not the bytes that *would*
have been written.

Use the right function in this case: snprintf().

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/core.c

index 53d4fc70dbd0981cdb73eabdc815346c25963b6b..f20ad0a8fc389b5188f37fdc6d5d7051f4687f8a 100644 (file)
@@ -1326,8 +1326,8 @@ static struct regulator *create_regulator(struct regulator_dev *rdev,
                regulator->dev = dev;
 
                /* Add a link to the device sysfs entry */
-               size = scnprintf(buf, REG_STR_SIZE, "%s-%s",
-                                dev->kobj.name, supply_name);
+               size = snprintf(buf, REG_STR_SIZE, "%s-%s",
+                               dev->kobj.name, supply_name);
                if (size >= REG_STR_SIZE)
                        goto overflow_err;