[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] tools: libxl: NULL terminate partially constructed hex string



commit b021beb21a977a89b763db7b7df7c362cf8640a8
Author:     Ian Campbell <ian.campbell@xxxxxxxxxx>
AuthorDate: Tue Feb 16 11:18:20 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
CommitDate: Tue Feb 16 17:38:51 2016 +0000

    tools: libxl: NULL terminate partially constructed hex string
    
    Coverity (correctly) complains that the strncpy(p, "0x", 2) will not
    null terminate p.
    
    Although we can see that in the rest of the function p will
    definitely be NULL terminated by the time it is complete there is no
    harm in passing 3 to the strncpy and allowing it to NULL terminate to
    placate Coverity. We know this is safe because the allocation to hold
    the string includes a "+3" for the 0x and the terminating NULL.
    
    Compile tested only.
    
    CID: 1198708
    
    Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
    Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
 tools/libxl/libxl_utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index e42422a..672d3f8 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -780,7 +780,7 @@ char *libxl_bitmap_to_hex_string(libxl_ctx *ctx, const 
libxl_bitmap *bitmap)
     int i = bitmap->size;
     char *p = libxl__zalloc(NOGC, bitmap->size * 2 + 3);
     char *q = p;
-    strncpy(p, "0x", 2);
+    strncpy(p, "0x", 3);
     p += 2;
     while(--i >= 0) {
         sprintf(p, "%02x", bitmap->map[i]);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.