cmq le tre funzioni:
int ** alloca_matrice (int righe, int colonne);
void dealloca_matrice(int **matrix, int righe);
void inizializza_matrice (int **matrix, int righe, int colonne);

sn già tutte state testate e funzionano, mi sono solo servite per provare questo programma "test". La scocciatura, quindi, sta nel leggere il solo main e in particolare quando richiamo dealloca_matrice, che a quanto pare mi crea il problema che ho già detto.