malloc(sizeof(int *) * size1); とか malloc(sizeof(int) * size2); がアホ