diff options
author | Adam Buchbinder <abuchbinder@google.com> | 2014-06-13 14:18:50 -0700 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2014-08-22 14:39:34 +0200 |
commit | c9951e2269fb3e3db1546d8627bc34a414ed13bd (patch) | |
tree | 97508a459884844af1a2095131a8cdf227808e02 /cmds-filesystem.c | |
parent | 5351d29eef4c26e9ffabc2bae0433407953fd8e0 (diff) |
btrfs-progs: Fix undefined behavior in radix-tree.c.
When running with UndefinedBehaviorSanitizer, the tests produce the following
error:
radix-tree.c:836:30: runtime error: shift exponent 18446744073709551613
is too large for 64-bit type 'unsigned long'
(That's a negative shift exponent represented as an unsigned long.)
Even though the value is discarded in those cases, it's still undefined
behavior; see the C99 standard, section 6.5.7, paragraph three: "If the
value of the right operand is negative [...] the behavior is undefined."
Signed-off-by: Adam Buchbinder <abuchbinder@google.com>
Reviewed-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Diffstat (limited to 'cmds-filesystem.c')
0 files changed, 0 insertions, 0 deletions