ошибка sigsev в malloc, которая сводит меня с ума

Этот бит кода C дает ошибку сегментации в gdb

if ((seq_entry_action=malloc((seq_subphases)*sizeof(int*)))==NULL){
    printf("Cannot allocate memory for seq_entry_action\n");
}

где:

int **seq_entry_action=NULL;
unsigned int seq_subphases=0;

Во время выполнения, и если я добавлю точку останова в gdb непосредственно перед этим фрагментом кода (, это просто еще один оператор printf ()), значения будут

(gdb) p seq_subphases
$3 = 88
(gdb) p seq_entry_action
$4 = (int **) 0x0

затем я нажимаю «Далее», и он segfaults в malloc

Я правда не понимаю.....

7
задан nass 8 August 2012 в 19:34
поделиться