diff options
| author | Andi Kleen <[email protected]> | 2007-11-05 22:50:56 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2007-11-05 23:12:32 +0000 |
| commit | 0b030c2c2f0f1d98d5fe412e5b7cf7fd53f5221a (patch) | |
| tree | ff10db5bc25c1aa3e7cc5c8dac6807d76fd7f506 /lib/bitmap.c | |
| parent | Missing include file in kallsyms.h (diff) | |
| download | kernel-0b030c2c2f0f1d98d5fe412e5b7cf7fd53f5221a.tar.gz kernel-0b030c2c2f0f1d98d5fe412e5b7cf7fd53f5221a.zip | |
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 <[email protected]>
Acked-by: Paul Jackson <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'lib/bitmap.c')
| -rw-r--r-- | lib/bitmap.c | 4 |
1 files changed, 4 insertions, 0 deletions
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; |
