Purtroppo, non e' possibile darti una qualsiasi indicazione perche' il problema e' a run time e dipende dal valore che assumono coordx e coordy durante l'esecuzione (il loro valore dipende da quello di alcuni elementi di buf che non si sa quanto valgono ...).
Penso che tu stia compilando con devc++ perche' la linea
unsigned char mappa[coordx][coordy][4];
con coordx e coordy variabili, non sarebbe risultata corretta con altri compilatori.

Rispondi quotando