summaryrefslogtreecommitdiff
path: root/dev-python/python-swiftclient/python-swiftclient-4.2.0.ebuild
diff options
context:
space:
mode:
authorYifeng Li <tomli@tomli.me>2023-02-20 10:54:29 +0000
committerSam James <sam@gentoo.org>2023-02-20 13:48:17 +0000
commit806ed912c90eece112c9225c5308f0f837ef0b5a (patch)
treeced0bdb6fa014772a31c6403b5d37d02b414068c /dev-python/python-swiftclient/python-swiftclient-4.2.0.ebuild
parent3ab5b78c47ee2dcfdb2de0ae84f43c96d2e9c210 (diff)
downloadgentoo-806ed912c90eece112c9225c5308f0f837ef0b5a.tar.gz
gentoo-806ed912c90eece112c9225c5308f0f837ef0b5a.tar.bz2
gentoo-806ed912c90eece112c9225c5308f0f837ef0b5a.zip
dev-util/b2: fix crash on Apple M1 due to undefined behavior.
Currently, the build system dev-util/b2-4.9.3, notably used by Boost, crashes on Apple M1 w/ macOS with a Segmentation Fault. This prevents one from using the tool, and also making building Boost impossible. It's also notable since it contains the keyword "~x64-macos", so it should receive first-class macOS support. It has been determined that when the NULL-terminated variadic function call_rule() is invoked, the value 0 is passed as the last argument to act as a terminator. However, this is an integer value, which is incompatible with the pointer data type expected by call_rule(). This is undefined behavior in C, correct operation is not guaranteed. In fact, it causes b2 to crash on Apple M1 when GCC is used - the loop is not terminated when it should, instead, it keeps running, creating the following error: lol_add failed due to reached limit of 19 elements In some cases, it can even corrupt the internal state of the program, creating an infinite loop. This commit fixes the problem by explicitly casting the value 0 to the correct pointer type (OBJECT *). Since the existence of the bug doesn't prevent one from installing the package, it can lurk inside the system and remain undetected, furthermore, it's technically a C programming bug, other platforms could've been affected as well in theory. Thus, we also bump the package version. Closes: https://bugs.gentoo.org/895524 Signed-off-by: Yifeng Li <tomli@tomli.me> Closes: https://github.com/gentoo/gentoo/pull/29681 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-python/python-swiftclient/python-swiftclient-4.2.0.ebuild')
0 files changed, 0 insertions, 0 deletions