1d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe#include <stdio.h> 2d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe#include <stdlib.h> 3d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippeint main() 4d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe{ 5d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe __attribute__((unused)) char *p = malloc (1); 6d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe char *b1 = malloc (128); 7d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe char *b2 = malloc (128); 8d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe fprintf (stderr, "b1 %p b2 %p\n", b1, b2); 9d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe 10d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe // Try to land in b2 from b1, causing no error 11d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe // with the default redzone-size, but having 12d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe // an error with a bigger redzone-size. 13d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe // We need to choose a value which lands in b2 14d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe // on 32 bits and 64 bits. 15d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe b1[127 + 70] = 'a'; 16d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe return 0; 17d99c26a4bc18fd3b17c4626c9c1fbd1583388660philippe} 18