LINUX.ORG.RU

История изменений

Исправление LongLiveUbuntu, (текущая версия) :

Провел эксперимент. Пока был ненулевой указатель, было так:

 int *j = (int*)malloc(1024);
    printf("%p\n", j);
    free(j);
    printf("%p\n", j);
    printf("%d\n", *j);
    return 0;

Вывод программы: 
0x562f5804c2a0
0x562f5804c2a0
1660256332
После обнуления j стало так:
int *j = (int *)malloc(1024);
    printf("%p\n", j);
    free(j);
    printf("%p\n", j);
    j = NULL;
    printf("%d\n", *j);
    return 0;

Вывод: 
0x5585516be2a0
0x5585516be2a0
Ошибка сегментирования (образ памяти сброшен на диск)

Исходная версия LongLiveUbuntu, :

Провел эксперимент. Пока был ненулевой указатель, было так:

 int *j = (int*)malloc(1024);
    printf("%p\n", j);
    free(j);
    printf("%p\n", j);
    printf("%d\n", *j);
    return 0;

Вывод программы: 
0x562f5804c2a0
0x562f5804c2a0
1660256332
После обнуления j стало так:
int *j = (int *)malloc(1024);
    printf("%p\n", j);
    free(j);
    printf("%p\n", j);
    j = NULL;
    printf("%d\n", *j);
    return 0;

Вывод: 
0x5585516be2a0
0x5585516be2a0
Ошибка сегментирования (образ памяти сброшен на диск)
[/code