Commit 4848ef66 authored by Jamie Liu's avatar Jamie Liu Committed by Pavel Emelyanov

zdtm: fix integer literal type bug in maps03

maps03 should have caught the bug fixed by 288cf517 "restore: mutate
tgt_addr in map_private_vma", but didn't because integer literals
(defaulting to 32-bit ints) were shifted out of range.
Signed-off-by: 's avatarJamie Liu <jamieliu@google.com>
Acked-by: 's avatarAndrew Vagin <avagin@parallels.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 13371c6a
...@@ -12,22 +12,22 @@ int main(int argc, char **argv) ...@@ -12,22 +12,22 @@ int main(int argc, char **argv)
unsigned char *mem; unsigned char *mem;
test_msg("Alloc huge VMA\n"); test_msg("Alloc huge VMA\n");
mem = (void *)mmap(NULL, (10 << 30), PROT_READ | PROT_WRITE, mem = (void *)mmap(NULL, (10L << 30), PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
if ((void *)mem == MAP_FAILED) { if ((void *)mem == MAP_FAILED) {
err("mmap failed: %m"); err("mmap failed: %m");
return -1; return -1;
} }
mem[4 << 30] = 1; mem[4L << 30] = 1;
mem[8 << 30] = 2; mem[8L << 30] = 2;
test_daemon(); test_daemon();
test_waitsig(); test_waitsig();
test_msg("Testing restored data\n"); test_msg("Testing restored data\n");
if (mem[4 << 30] != 1 || mem[8 << 30] != 2) { if (mem[4L << 30] != 1 || mem[8L << 30] != 2) {
fail("Data corrupted!\n"); fail("Data corrupted!\n");
exit(1); exit(1);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment