]> git.ipfire.org Git - thirdparty/git.git/commit
parse-options: add precision handling for OPTION_BITOP
authorRené Scharfe <l.s.r@web.de>
Wed, 9 Jul 2025 09:46:20 +0000 (11:46 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 9 Jul 2025 15:39:46 +0000 (08:39 -0700)
commit1d918bf2a5eb9d860df1dd115ef2641d7b5870e9
tree37a7b380e633b97199735c42a418c4982040f9ad
parentfeeebbf1b7d5ed8761355d354e9529c791b77e7d
parse-options: add precision handling for OPTION_BITOP

Similar to 09705696f7 (parse-options: introduce precision handling for
`OPTION_INTEGER`, 2025-04-17) support value variables of different sizes
for OPTION_BITOP.  Do that by requiring their "precision" to be set,
casting their "value" pointer accordingly and checking whether the value
fits.

Check if "devfal" fits into an integer variable with the given
"precision", but don't check "extra", as its value is only used to clear
bits, so cannot lead to an overflow.  Not checking continues to allow
e.g., using -1 to clear all bits even if the value variable has a
narrower type than intptr_t.

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