Nie mam pojęcia skąd wytrzasnąłeś to rdebug.c, ale jak go wyrzuciłem i skompilowałem ze zwykłym AddressSanitizerem to od razu dostałem heap-buffer-overflow tutaj:
if(scanf("%50[^\n]%*c", tab)==0){
Jak to tymczasowo zmieniłem na zwykłe %s, to kolejny tutaj:
int aux=len-4;
//append _alpha to filename
strcpy(temp+aux,"_alpha.bin");
Prawdopodobnie stąd że używasz raz `tab` do nazwy pliku a potem do słów, po czym liczysz `len` myśląc że to wciąż nazwa pliku z rozszerzeniem.
Dalej nie patrzyłem.