È lo stesso problema riscontrato in questa discussione, anche se il programma è un po' diverso. Risolvi così:

codice:
                ...
		stringa[k] = malloc(sizeof(char) * strlen(swap));
		
		strcpy(stringa[k], swap);
}
...
si dovrebbe usare la strncpy() ma vabbè...