Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1275885

[PATCH 07/14] lib/vsprintf.c: slightly refactor vscnprintf()

From Rasmus Villemoes <linux@rasmusvillemoes.dk>
Newsgroups linux.kernel
Subject [PATCH 07/14] lib/vsprintf.c: slightly refactor vscnprintf()
Date 2015-11-23 22:40 +0100
Message-ID <qy707-7p3-53@gated-at.bofh.it> (permalink)
References <qy705-7p3-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


If we're given a size of 0, the vsnprintf() won't have any side
effects, and neither "i < size" or "size != 0" will trigger. So we
might as well return 0 immediately.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
---
 lib/vsprintf.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index 8af5535fd738..e22a6189548f 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -2036,13 +2036,14 @@ int vscnprintf(char *buf, size_t size, const char *fmt, va_list args)
 {
 	int i;
 
+	if (unlikely(!size))
+		return 0;
+
 	i = vsnprintf(buf, size, fmt, args);
 
 	if (likely(i < size))
 		return i;
-	if (size != 0)
-		return size - 1;
-	return 0;
+	return size - 1;
 }
 EXPORT_SYMBOL(vscnprintf);
 
-- 
2.6.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/14] printf stuff for 4.5 Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-23 22:40 +0100
  [PATCH 14/14] lib/test_printf.c: test dentry printing Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-23 22:40 +0100
  [PATCH 02/14] lib/vsprintf.c: move string() below widen_string() Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-23 22:40 +0100
  [PATCH 03/14] lib/vsprintf.c: eliminate potential race in string() Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-23 22:40 +0100
    Re: [PATCH 03/14] lib/vsprintf.c: eliminate potential race in string() Andy Shevchenko <andy.shevchenko@gmail.com> - 2015-11-24 00:00 +0100
      Re: [PATCH 03/14] lib/vsprintf.c: eliminate potential race in string() Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-26 22:40 +0100
  [PATCH 12/14] lib/test_printf.c: account for kvasprintf tests Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-23 22:40 +0100
  [PATCH 06/14] lib/vsprintf.c: warn about too large precisions and field widths Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-23 22:40 +0100
    Re: [PATCH 06/14] lib/vsprintf.c: warn about too large precisions and  field widths Andy Shevchenko <andy.shevchenko@gmail.com> - 2015-11-23 23:40 +0100
      Re: [PATCH 06/14] lib/vsprintf.c: warn about too large precisions and field widths Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-26 22:20 +0100
  [PATCH 07/14] lib/vsprintf.c: slightly refactor vscnprintf() Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-23 22:40 +0100
    Re: [PATCH 07/14] lib/vsprintf.c: slightly refactor vscnprintf() Andy Shevchenko <andy.shevchenko@gmail.com> - 2015-11-23 23:40 +0100
      Re: [PATCH 07/14] lib/vsprintf.c: slightly refactor vscnprintf() Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-26 22:30 +0100
  [PATCH 11/14] lib/test_printf.c: test precision quirks Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-23 22:40 +0100
  [PATCH 10/14] lib/test_printf.c: check for out-of-bound writes Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-23 22:40 +0100

csiph-web