STINNER Victor <[email protected]> added the comment:
Using memcpy() to write a value different than 0 or 1 into a _Bool is clearly
an undefined behavior. Example with clang UBSan.
bool.c:
---
#include <string.h>
#include <stdbool.h>
int main()
{
char ch = 42;
_Bool x;
memcpy(&x, &ch, 1);
return x == true;
}
---
$ clang -fsanitize=bool bool.c -o bool
$ ./bool
bool.c:9:12: runtime error: load of value 42, which is not a valid value for
type '_Bool'
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue39689>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com