Error: CPPCHECK_WARNING (CWE-758): [#def61] multipath-tools-0.11.1/libmultipath/nvme-ioctl.c:572: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
Found by Fedora's static analysis [1]. [1] https://openscanhub.fedoraproject.org/task/51915/log/device-mapper-multipath-0.11.1-1.fc43/scan-results.html Signed-off-by: Martin Wilck <mwi...@suse.com> --- libmultipath/nvme/nvme-ioctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libmultipath/nvme/nvme-ioctl.c b/libmultipath/nvme/nvme-ioctl.c index 6959976..445ae2b 100644 --- a/libmultipath/nvme/nvme-ioctl.c +++ b/libmultipath/nvme/nvme-ioctl.c @@ -569,7 +569,7 @@ int nvme_feature(int fd, __u8 opcode, __u32 nsid, __u32 cdw10, __u32 cdw11, int nvme_set_feature(int fd, __u32 nsid, __u8 fid, __u32 value, __u32 cdw12, bool save, __u32 data_len, void *data, __u32 *result) { - __u32 cdw10 = fid | (save ? 1 << 31 : 0); + __u32 cdw10 = fid | (save ? 1U << 31 : 0); return nvme_feature(fd, nvme_admin_set_features, nsid, cdw10, value, cdw12, data_len, data, result); -- 2.49.0