diff mbox

sbitmap: initialize weight to zero

Message ID 20160919133408.25559-1-colin.king@canonical.com (mailing list archive)
State New, archived
Headers show

Commit Message

Colin King Sept. 19, 2016, 1:34 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

Variable weight is not being initialized to zero before it is
used to compute the weight sum. Ensure it is initialized to zero.

Found with static analysis with cppcheck:
[lib/sbitmap.c:177]: (error) Uninitialized variable: weight

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 lib/sbitmap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jens Axboe Sept. 19, 2016, 2:20 p.m. UTC | #1
On 09/19/2016 07:34 AM, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> Variable weight is not being initialized to zero before it is
> used to compute the weight sum. Ensure it is initialized to zero.
>
> Found with static analysis with cppcheck:
> [lib/sbitmap.c:177]: (error) Uninitialized variable: weight

Thanks, applied. Strange, this is an old issue, it was just moved to 
this file. It should have triggered on mainline too. My compiler doesn't 
complain here:

$ gcc --version
gcc (Ubuntu 6.2.0-3ubuntu11~16.04) 6.2.0 20160901
diff mbox

Patch

diff --git a/lib/sbitmap.c b/lib/sbitmap.c
index e408089..2cecf05 100644
--- a/lib/sbitmap.c
+++ b/lib/sbitmap.c
@@ -169,7 +169,7 @@  EXPORT_SYMBOL_GPL(sbitmap_any_bit_clear);
 
 unsigned int sbitmap_weight(const struct sbitmap *sb)
 {
-	unsigned int i, weight;
+	unsigned int i, weight = 0;
 
 	for (i = 0; i < sb->map_nr; i++) {
 		const struct sbitmap_word *word = &sb->map[i];