У меня есть такой код
char *verboseBuf = NULL;
if(somethin){
for(a loop){
for(another loop){
if(somethin else){
if(curl execution){
if(fail){
verboseBuf = (char *) malloc(sizeof(char) * (currSize +1));
fread(verboseBuf, 1, currSize, verboseFd);
verboseBuf[currSize + 1] = '\0';
string verbose = verboseBuf;
free(verboseBuf);
}
}
}
}
}
}
Единственное место, где я использую verboseBuf, находится внутри последнего цикла if.но я получаю
*** glibc detected *** ./test: double free or corruption (!prev): 0x13c13290 ***
Но как освободить его дважды, если я использую его только в одном месте?и каждый раз, когда я использую это, я освобождаю это.Я пытался использовать addr2line, чтобы найти место, где он был освобожден ранее, но все, что я получил, было ??:0
.