Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1452651

[PATCH] fs: fix a bug when new_insert_key is not initialization

From zhongjiang <zhongjiang@huawei.com>
Newsgroups linux.kernel
Subject [PATCH] fs: fix a bug when new_insert_key is not initialization
Date 2016-07-30 06:00 +0200
Message-ID <s0tBn-5DU-3@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


From: zhong jiang <zhongjiang@huawei.com>

when compile the kenrel code, I happens to the following warn.
fs/reiserfs/ibalance.c:1156:2: warning: ‘new_insert_key’ may be used
uninitialized in this function.
memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);

The patch fix it by check the new_insert_ptr. if new_insert_ptr is not
NULL, we ensure that new_insert_key is assigned. therefore, memcpy will
saftly exec the operatetion.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 fs/reiserfs/ibalance.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/reiserfs/ibalance.c b/fs/reiserfs/ibalance.c
index b751eea..2c46829 100644
--- a/fs/reiserfs/ibalance.c
+++ b/fs/reiserfs/ibalance.c
@@ -1153,8 +1153,10 @@ int balance_internal(struct tree_balance *tb,
 				       insert_ptr);
 	}
 
-	memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);
-	insert_ptr[0] = new_insert_ptr;
+	if (new_insert_ptr) {
+		memcpy(new_insert_key_addr, &new_insert_key, KEY_SIZE);
+		insert_ptr[0] = new_insert_ptr;
+	}
 
 	return order;
 }
-- 
1.8.3.1

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH] fs: fix a bug when new_insert_key is not initialization zhongjiang <zhongjiang@huawei.com> - 2016-07-30 06:00 +0200
  Re: [PATCH] fs: fix a bug when new_insert_key is not initialization Andrew Morton <akpm@linux-foundation.org> - 2016-08-02 01:20 +0200
    Re: [PATCH] fs: fix a bug when new_insert_key is not initialization zhong jiang <zhongjiang@huawei.com> - 2016-08-02 04:30 +0200

csiph-web