xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] xen/vsprintf: Avoid returning NULL from number()
@ 2016-06-09 10:00 Andrew Cooper
  2016-06-09 12:44 ` Jan Beulich
  0 siblings, 1 reply; 2+ messages in thread
From: Andrew Cooper @ 2016-06-09 10:00 UTC (permalink / raw)
  To: Xen-devel; +Cc: Andrew Cooper, Jan Beulich

In practice this is an unused codepath, as every caller of number() passes an
explicit base of 8, 10 or 16.  For all other uses, number() returns a pointer
between the str and end parameters, as do the other similar helper functions.

However, the fact that there is a NULL return path causes Coverity to check
whether the caller makes NULL checks on the return value, and complain.

Change the conditional return into an ASSERT().

No functional change, but this removes 21 instances of NULL_RETURN in
Coverity.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
---
 xen/common/vsprintf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/vsprintf.c b/xen/common/vsprintf.c
index b050ea3..f92fb67 100644
--- a/xen/common/vsprintf.c
+++ b/xen/common/vsprintf.c
@@ -153,11 +153,11 @@ static char *number(
     static const char large_digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
     int i;
 
+    ASSERT(base >= 2 && base <= 36);
+
     digits = (type & LARGE) ? large_digits : small_digits;
     if (type & LEFT)
         type &= ~ZEROPAD;
-    if (base < 2 || base > 36)
-        return NULL;
     c = (type & ZEROPAD) ? '0' : ' ';
     sign = 0;
     if (type & SIGN) {
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] xen/vsprintf: Avoid returning NULL from number()
  2016-06-09 10:00 [PATCH] xen/vsprintf: Avoid returning NULL from number() Andrew Cooper
@ 2016-06-09 12:44 ` Jan Beulich
  0 siblings, 0 replies; 2+ messages in thread
From: Jan Beulich @ 2016-06-09 12:44 UTC (permalink / raw)
  To: Andrew Cooper; +Cc: Xen-devel

>>> On 09.06.16 at 12:00, <andrew.cooper3@citrix.com> wrote:
> In practice this is an unused codepath, as every caller of number() passes an
> explicit base of 8, 10 or 16.  For all other uses, number() returns a 
> pointer
> between the str and end parameters, as do the other similar helper 
> functions.
> 
> However, the fact that there is a NULL return path causes Coverity to check
> whether the caller makes NULL checks on the return value, and complain.
> 
> Change the conditional return into an ASSERT().
> 
> No functional change, but this removes 21 instances of NULL_RETURN in
> Coverity.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

But should really have Cc-ed the other REST maintainers.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-06-09 12:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-09 10:00 [PATCH] xen/vsprintf: Avoid returning NULL from number() Andrew Cooper
2016-06-09 12:44 ` Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).