Segfault на Windows, но не Linux (информация о GDB включена) — C

Я получаю segfault в Windows, но не в Linux (та же программа). Используя GDB (minGW), я получаю следующую информацию:

Программа получила сигнал SIGSEGV, ошибка сегментации. 21 0x7c8024f0 в
ReleaseMutex () от C:WINDOWSsystem32kernel32.файл DLL

Программа запускается до завершения в системе Linux. Сбой происходит во время рекурсивного вызова этой функции:

    void recursive_paint_char(int x,int y,int **inimage,int new_color,int fore_color)
{

/* 
   This routine paints the connected object around the pixel x,y in image inimage
   to the color new_color. The foreground color is assumed to be fore_color.
*/
 int        i;
 int        xt,yt;

 inimage[x][y]=new_color;
 for (i=0;i<8;i++)
 {

  xt=x+xc[i];
  yt=y+yc[i];
  if (inimage[xt][yt]==fore_color) 
  {
    printf("this statement printsn"); 
   recursive_paint_char(xt,yt,inimage,new_color,fore_color);
   printf("this statement never printsn"); 
  }
 }
}

Рекурсия идет около 171 000 вызовов перед сегфолтингом

1 ответ