mirror of
https://github.com/reactos/syzkaller.git
synced 2024-11-23 19:39:40 +00:00
executor: fix strict aliasing violations
test_copyin does bad things. Fix that. executor/test.h: In function ‘int test_copyin()’: executor/common.h:299:16: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] *(type*)(addr) = (type)(val); \ ^
This commit is contained in:
parent
9fe4bdc5f1
commit
4969639c7c
@ -7,15 +7,24 @@
|
||||
|
||||
static int test_copyin()
|
||||
{
|
||||
unsigned char x[4] = {};
|
||||
STORE_BY_BITMASK(uint16, &x[1], 0x1234, 0, 0);
|
||||
if (x[0] != 0 || x[1] != 0x34 || x[2] != 0x12 || x[3] != 0) {
|
||||
printf("bad result of STORE_BY_BITMASK(0, 0): %x %x %x %x\n", x[0], x[1], x[2], x[3]);
|
||||
static uint16 buf[3];
|
||||
STORE_BY_BITMASK(uint16, &buf[1], 0x1234, 0, 0);
|
||||
unsigned char x[sizeof(buf)];
|
||||
memcpy(x, buf, sizeof(x));
|
||||
if (x[0] != 0 || x[1] != 0 ||
|
||||
x[2] != 0x34 || x[3] != 0x12 ||
|
||||
x[4] != 0 || x[5] != 0) {
|
||||
printf("bad result of STORE_BY_BITMASK(0, 0): %x %x %x %x %x %x\n",
|
||||
x[0], x[1], x[2], x[3], x[4], x[5]);
|
||||
return 1;
|
||||
}
|
||||
STORE_BY_BITMASK(uint16, &x[1], 0x555a, 5, 4);
|
||||
if (x[0] != 0 || x[1] != 0x54 || x[2] != 0x13 || x[3] != 0) {
|
||||
printf("bad result of STORE_BY_BITMASK(7, 3): %x %x %x %x\n", x[0], x[1], x[2], x[3]);
|
||||
STORE_BY_BITMASK(uint16, &buf[1], 0x555a, 5, 4);
|
||||
memcpy(x, buf, sizeof(x));
|
||||
if (x[0] != 0 || x[1] != 0 ||
|
||||
x[2] != 0x54 || x[3] != 0x13 ||
|
||||
x[4] != 0 || x[5] != 0) {
|
||||
printf("bad result of STORE_BY_BITMASK(7, 3): %x %x %x %x %x %x\n",
|
||||
x[0], x[1], x[2], x[3], x[4], x[5]);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -228,7 +228,6 @@ var List = map[string]map[string]*Target{
|
||||
CCompiler: os.ExpandEnv("${SOURCEDIR}/toolchain/x86_64-ucb-akaros-gcc/bin/x86_64-ucb-akaros-g++"),
|
||||
CrossCFlags: []string{
|
||||
"-static",
|
||||
"-Wno-strict-aliasing",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user