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

[Xen-changelog] [xen-4.0-testing] bitmap_scnlistprintf() should always zero-terminate its output buffer



# HG changeset patch
# User Jan Beulich <jbeulich@xxxxxxxx>
# Date 1315906927 -3600
# Node ID 487d9e6505847c195aa38b637a80a4c39523691c
# Parent  95f9d131207322f3e3373a55a3e22ece8c24493a
bitmap_scnlistprintf() should always zero-terminate its output buffer

... as long as it has non-zero size. So far this would not happen if
the passed in CPU mask was empty.

Also fix the comment describing the return value to actually match
reality.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
xen-unstable changeset:   23820:ba75234a6f56
xen-unstable date:        Wed Sep 07 10:36:55 2011 +0100
---


diff -r 95f9d1312073 -r 487d9e650584 xen/common/bitmap.c
--- a/xen/common/bitmap.c       Tue Sep 13 10:39:25 2011 +0100
+++ b/xen/common/bitmap.c       Tue Sep 13 10:42:07 2011 +0100
@@ -363,9 +363,8 @@
  * the range.  Output format is compatible with the format
  * accepted as input by bitmap_parselist().
  *
- * The return value is the number of characters which would be
- * generated for the given input, excluding the trailing '\0', as
- * per ISO C99.
+ * The return value is the number of characters which were output,
+ * excluding the trailing '\0'.
  */
 int bitmap_scnlistprintf(char *buf, unsigned int buflen,
        const unsigned long *maskp, int nmaskbits)
@@ -383,6 +382,8 @@
                        rbot = cur;
                }
        }
+       if (!len && buflen)
+               *buf = 0;
        return len;
 }
 EXPORT_SYMBOL(bitmap_scnlistprintf);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
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®.