#include <stdio.h>
#include <string.h>
#include <stddef.h>
typedef struct __attribute__((packed))
{
char a;
short b;
int c;
} my_struct;
char buff[50];
int main(void) {
my_struct s;
s.a = 1;
s.b = 2;
s.c = 3;
short value = 0;
if (value == 2)
{
value = 10;
}
// This is a no-no?
my_struct *ptr = (my_struct *)buff;
ptr->b = 1337;
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGRlZi5oPgoKdHlwZWRlZiBzdHJ1Y3QgX19hdHRyaWJ1dGVfXygocGFja2VkKSkKewogICAgY2hhciBhOwogICAgc2hvcnQgYjsKICAgIGludCBjOwp9IG15X3N0cnVjdDsKCmNoYXIgYnVmZls1MF07CgppbnQgbWFpbih2b2lkKSB7CglteV9zdHJ1Y3QgczsKCXMuYSA9IDE7CglzLmIgPSAyOwoJcy5jID0gMzsKCQoJbWVtY3B5KGJ1ZmYsICZzLCBzaXplb2YocykpOwoJCglzaG9ydCB2YWx1ZSA9IDA7CgltZW1jcHkoJnZhbHVlLCBidWZmICsgb2Zmc2V0b2YobXlfc3RydWN0LCBiKSwgc2l6ZW9mKHZhbHVlKSk7CgkKCWlmICh2YWx1ZSA9PSAyKQoJewoJCXZhbHVlID0gMTA7CgkJbWVtY3B5KGJ1ZmYgKyBvZmZzZXRvZihteV9zdHJ1Y3QsIGIpLCAmdmFsdWUsIHNpemVvZih2YWx1ZSkpOwoJfQoJCgltZW1jcHkoJnMsIGJ1ZmYsIHNpemVvZihzKSk7CgkKCXByaW50ZigiJWRcclxuIiwgcy5iKTsKCQoJLy8gVGhpcyBpcyBhIG5vLW5vPwoJbXlfc3RydWN0ICpwdHIgPSAobXlfc3RydWN0ICopYnVmZjsKCXB0ci0+YiA9IDEzMzc7CgltZW1jcHkoJnMsIGJ1ZmYsIHNpemVvZihzKSk7CglwcmludGYoIiVkXHJcbiIsIHMuYik7CgkKCXJldHVybiAwOwp9Cg==