examples/symbolic/invalid-memory-access-fail-2-35.c
Rama main · réplica de lectura del repositorio original.
uint64_t main() {
uint64_t a;
uint64_t* x;
x = malloc(sizeof(uint64_t));
*x = 0; // touch memory
read(0, x, 1);
if (*x == 48)
// on 64-bit systems: address is outside of virtual address space -> invalid memory access
// on 32-bit systems: address is zero -> segmentation fault
// if the input is '0' (== 48 == b00110000)
*(x + 4294967248) = 0;
a = *x - 7;
if (a == 42)
// non-zero exit code if the input is '1' (== 49 == b00110001)
return 1;
else
return 0;
}