Почему программа, обращающаяся к недопустимому указателю на указатель, не падает?

Программа, обращающаяся к недопустимому указателю на указатель, не завершает работу с SIGSEGV. Это не очень хорошая вещь, но мне интересно, как это могло бы быть и как процесс выжил в течение многих дней в производстве. Это сбивает с толку меня.

Я дал этой программе попробовать в Windows, Linux, OpenVMS и Mac OS, и они никогда не жаловались.

#include <stdio.h>
#include <string.h>

void printx(void *rec) { // I know this should have been a **
    char str[1000];
    memcpy(str, rec, 1000);
    printf("%*.s\n", 1000, str);
    printf("Whoa..!! I have not crashed yet :-P");
}

int main(int argc, char **argv) {
    void *x = 0; // you could also say void *x = (void *)10;
    printx(&x);
}

Ответы на вопрос(5)

Ваш ответ на вопрос