malloc() приводит к прерыванию в приложении openwrt
Я запускаю приложение в системе openwrt. Но он завершается, когда просто вызывается функция malloc(), а сигнал равен 6 (SIGABRT). не похоже, что у malloc() недостаточно memery. потому что я уверен, что система имеет достаточно memery. Пожалуйста, помогите. Спасибо
//call malloc() here
printf("malloc space\n");
tx_frame.load = (unsigned char *)malloc(8+SEND_DATA_LEN+2);
if (tx_frame.load == 0)
{
printf("malloc send space failed.\n");
return;
}
printf("find file\n");
//signal handler
void signal_handler(int sig)
{
printf("sig %d\n",sig);
printf("errno %d\n",errno);
syslog(6, "catch the sigal:%d\n", sig);
}
//system memery info when top
Mem: 33744K used, 222700K free, 436K shrd, 3144K buff, 10760K cached
//terminal output when run the app
malloc space
sig 6
errno 36
Aborted