1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <stdlib.h> 2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownint main(void) 4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ 5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown void* x = malloc(10); 6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown int *x4; 8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown short *x2; 9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown char *x1; 10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown int y4; 11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown short y2; 12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown char y1; 13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown x4 = x-4; 15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown x2 = x-4; 16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown x1 = x-1; 17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Invalid reads and writes of sizes 4, 2, 1 19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown y4 = *x4; 20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown *x4 = y4; 21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown y2 = *x2; 23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown *x2 = y2; 24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown y1 = *x1; 26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown *x1 = y1; 27ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 28ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown return 0; 29ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown} 30