Jan Beulich
2011-Sep-05 15:45 UTC
[Xen-devel] [PATCH] 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@suse.com> --- a/xen/common/bitmap.c +++ b/xen/common/bitmap.c @@ -363,9 +363,8 @@ static inline int bscnl_emit(char *buf, * 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 @@ int bitmap_scnlistprintf(char *buf, unsi rbot = cur; } } + if (!len && buflen) + *buf = 0; return len; } EXPORT_SYMBOL(bitmap_scnlistprintf); _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel