Originariamente inviato da Fenzo
visto e corretto
utilizzando il debug però ho visto che le istruzioni vengono eseguite ma mi compare errore di SIGTRAP al momento delle free. Ma è possibile allocare e deallocare ogni volta una stringa per memorizzarne una diversa in C?
Può anche essere che il malloc non ti alloca lo spazio ritornando 0, e quando cerchi di fare free va in segfault.

Controlla se lo spazio che allochi sia sempre > 0 e che malloc restituisca sempre un valore > 0

codice:
lenght = strcspn(risposte,del);
risposta_quiz = (char*)malloc(lenght*sizeof(char));
lenght (length ) viene calcolato parsando una stringa. Sei sicuro che length sia sempre > 0 facendo risultare lenght*sizeof(char) > 0 ?