free char *: Ungültige nächste Größe (schnell) [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Bei Auftreten eines Fehlers "*** Glibc erkannt *** frei (): Ungültige nächste Größe (schnell)" 2 AntwortenNach einem Verkettungsvorgang wird ein Zeichen * freigegeben.
Aber ich erhalte diesen Fehler:
free (): Ungültige nächste Größe (schnell): 0x0000000001b86170
Unten ist mein Code:
void concat(stringList *list) {
char *res = (char*)malloc(sizeof(char*));
strcpy(res, list->head->string);
list->tmp = list->head->next;
while (list->tmp != NULL) {
strcat(res, ",");
strcat(res, list->tmp->string);
list->tmp = list->tmp->next;
}
printf("%s\n", res);
free(res);
}