]> git.ipfire.org Git - thirdparty/git.git/commit
object-file: use unsigned arithmetic with bit mask
authorRené Scharfe <l.s.r@web.de>
Fri, 6 Aug 2021 17:53:47 +0000 (19:53 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 11 Aug 2021 17:19:56 +0000 (10:19 -0700)
commit581a3bb155c157094ca486e3a10c4a9b70c8f650
tree201ac43a308a316513b6557610a0adb56e5271d2
parentdd3c8a72a2eaecf0c752a37e1f4ba4de59818e93
object-file: use unsigned arithmetic with bit mask

33f379eee6 (make object_directory.loose_objects_subdir_seen a bitmap,
2021-07-07) replaced a wasteful 256-byte array with a 32-byte array
and bit operations.  The mask calculation shifts a literal 1 of type
int left by anything between 0 and 31.  UndefinedBehaviorSanitizer
doesn't like that and reports:

object-file.c:2477:18: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'

Make sure to use an unsigned 1 instead to avoid the issue.

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
object-file.c