From: Andi Kleen Date: Mon, 5 Nov 2007 22:50:56 +0000 (-0800) Subject: Fix bitmap_scnlistprintf for empty masks X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=0b030c2c2f0f1d98d5fe412e5b7cf7fd53f5221a;p=openwrt%2Fstaging%2Fblogic.git Fix bitmap_scnlistprintf for empty masks When a bitmap is empty bitmap_scnlistprintf() would leave the buffer uninitialized. Set it to an empty string in this case. I didn't see any in normal kernel callers hitting this, but some custom debug code of mine did. Signed-off-by: Andi Kleen Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/lib/bitmap.c b/lib/bitmap.c index 26ebafa8c41d..2c9242e3fed0 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -469,6 +469,10 @@ int bitmap_scnlistprintf(char *buf, unsigned int buflen, /* current bit is 'cur', most recently seen range is [rbot, rtop] */ int cur, rbot, rtop; + if (buflen == 0) + return 0; + buf[0] = 0; + rbot = cur = find_first_bit(maskp, nmaskbits); while (cur < nmaskbits) { rtop = cur;