]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
rgw/rgw_cksum: work around -Wsometimes-uninitialized
authorMax Kellermann <max.kellermann@ionos.com>
Thu, 24 Apr 2025 11:22:55 +0000 (13:22 +0200)
committerMax Kellermann <max.kellermann@ionos.com>
Thu, 24 Apr 2025 11:27:50 +0000 (13:27 +0200)
commit2afbc2ff9d15e685edb26ce22efd3c377799efb4
treec2705a99d998ed10732bfd8e6e3bcee65323fb48
parentf7c998cdd0c0d60f5380e178c1e9947ce546a8ed
rgw/rgw_cksum: work around -Wsometimes-uninitialized

clang complains that `cck3` might not be initialized:

```
 /home/jenkins-build/build/workspace/ceph-api/src/rgw/rgw_cksum.cc:74:2: error: variable 'cck3' is used uninitialized whenever switch default is taken [-Werror,-Wsometimes-uninitialized]
    74 |         default:
       |         ^~~~~~~
 /home/jenkins-build/build/workspace/ceph-api/src/rgw/rgw_cksum.cc:78:31: note: uninitialized use occurs here
    78 |         cck3 = rgw::digest::byteswap(cck3);
       |                                      ^~~~
 /home/jenkins-build/build/workspace/ceph-api/src/rgw/rgw_cksum.cc:61:15: note: initialize the variable 'cck3' to silence this warning
    61 |         uint32_t cck3;
       |                      ^
       |                       = 0
```

The `default:` case however is not reachable because `ck1.type` has
already been checked.  Adding initializers to `cck3` would only hide
potential future bugs, therefore I suggest just bailing out of the
function for this unreachable piece of code.  With C++23, we could use
`std::unreachable()` instead.

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
src/rgw/rgw_cksum.cc