Blob Blame History Raw
/* valgrind ./a.out 0 ~> no error */
/* valgrind ./a.out 1 ~> error */

#include <stdlib.h>

struct something {
    char c;
    int x;
};
/* === 8 bytes ===
 * 42
 * garbage
 * garbage
 * garbage
 * 42
 * 42
 * 42
 * 42
 */


int main(int argc, char *argv[])
{
    struct something st = { 0x2A, 0x2A2A2A2A };

    struct something st_copy = st;

    return (int) *(&(st_copy.c)+atoi(argv[1]));
}
/* error generated after main returns */