]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
include/denc: always initialize local variable
authorKefu Chai <kchai@redhat.com>
Tue, 27 Jul 2021 03:42:59 +0000 (11:42 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 27 Jul 2021 03:43:30 +0000 (11:43 +0800)
this change silences following false positive warning:

In file included from ../src/include/encoding.h:41,
                  from ../src/kv/KeyValueDB.h:12,
                  from ../src/os/bluestore/bluestore_common.h:20,
                  from ../src/os/bluestore/BlueFS.cc:5:
 ../src/include/denc.h: In function ‘std::enable_if_t<(is_same_v<T, bluefs_extent_t> || is_same_v<T, const bluefs_extent_t>)> _denc_friend(T&, P&) [with T = bluefs_extent_t; P = ceph::buffer::v15_2_0::p$
 ../src/include/denc.h:639:11: warning: ‘shift’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   639 |     shift += 7;
       |     ~~~~~~^~~~
 ../src/include/denc.h:613:7: note: ‘shift’ was declared here
   613 |   int shift;
       |       ^~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/include/denc.h

index 10fa8d0c871244efbfc36c553b394a5040969e6f..71db1003ace89ad93cd7b07b51f61919a17469e2 100644 (file)
@@ -610,7 +610,7 @@ template<class It>
 inline std::enable_if_t<is_const_iterator_v<It>>
 denc_lba(uint64_t& v, It& p) {
   uint32_t word = *(ceph_le32*)p.get_pos_add(sizeof(uint32_t));
-  int shift;
+  int shift = 0;
   switch (word & 7) {
   case 0:
   case 2: