regmap: debugfs: Don't bother actually printing when calculating max length
authorMark Brown <broonie@kernel.org>
Sat, 19 Sep 2015 14:12:34 +0000 (07:12 -0700)
committerMark Brown <broonie@kernel.org>
Sat, 19 Sep 2015 14:38:12 +0000 (07:38 -0700)
The in kernel snprintf() will conveniently return the actual length of
the printed string even if not given an output beffer at all so just do
that rather than relying on the user to pass in a suitable buffer,
ensuring that we don't need to worry if the buffer was truncated due to
the size of the buffer passed in.

Reported-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
drivers/base/regmap/regmap-debugfs.c

index 1f327898e53d12ffaf8c09a0bc3b9f573f973b1e..4c55cfbad19e95df8cb67864d78af960c073b4df 100644 (file)
@@ -32,8 +32,7 @@ static DEFINE_MUTEX(regmap_debugfs_early_lock);
 /* Calculate the length of a fixed format  */
 static size_t regmap_calc_reg_len(int max_val, char *buf, size_t buf_size)
 {
-       snprintf(buf, buf_size, "%x", max_val);
-       return strlen(buf);
+       return snprintf(NULL, 0, "%x", max_val);
 }
 
 static ssize_t regmap_name_read_file(struct file *file,