Вы, скорее всего, видите этот вопрос, потому что ваш вопрос был закрыт как дубликат этого. Для умеренно полного списка связанных вопросов, пожалуйста, см. Длинный список возможных дубликатов - Ограничение памяти C и ограничения обхода в Meta Stack Overflow.
Пример Вопрос
От бесплатно char *: неверный следующий размер (быстрый), заданный noobie на 2014-04-11.
Я освобождаю char*
после процесса конкатенации, но получаю эту ошибку:
free(): invalid next size (fast): 0x0000000001b86170
Это мой код:
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);
}
Общий вопрос
При запуске моей программы я вижу сообщение об ошибке следующего вида:
*** glibc detected *** ./a.out: free(): corrupted unsorted chunks: 0x12345678 ***
Подробная информация может содержать любое из следующих значений после *** glibc detected ***
и имени программы, а за сообщением следует шестнадцатеричный адрес (отображается как 0x12345678) и другой ***
:
-
free(): corrupted unsorted chunks: 0x12345678
-
free(): invalid next size (fast): 0x12345678
-
free(): invalid next size (normal): 0x12345678
-
free(): invalid pointer: 0x12345678
-
free(): invalid size: 0x12345678
-
malloc(): corrupted unsorted chunks: 0x12345678
-
malloc(): corrupted unsorted chunks 2: 0x12345678
-
malloc(): memory corruption: 0x12345678
-
malloc(): memory corruption (fast): 0x12345678
-
malloc(): smallbin double linked list corrupted: 0x12345678
-
munmap_chunk(): invalid pointer: 0x12345678
-
realloc(): invalid next size (fast): 0x12345678
-
realloc(): invalid old size (fast): 0x12345678
-
realloc(): invalid pointer: 0x12345678
-
corrupted double-linked list: 0x12345678
Это происходит при вызове функции frobnicate()
; что не так с этой функцией?