Bonjour, j'ai un soucis avec mon realloc qui provoque visiblement une fuite mémoire avec un invalid next size.
Mais je ne vois pas du tout le soucis dans le code..
L'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 int main(){ int buffsize=4; int init_size=4; int16_t * x=(int16_t*)malloc(buffsize*sizeof(int16_t)); int16_t i; int bytesRead; char *fi="test.wav"; FILE *fd_waveFile=NULL; wavfile head_waveFile; int cpt=0; wavRead(&fd_waveFile,fi,&head_waveFile); while ((bytesRead = fread(&i, sizeof(int16_t),1, fd_waveFile)) > 0){ if(cpt==(buffsize-1)){ x=(int16_t*)realloc(x,init_size*sizeof(int16_t)); buffsize=buffsize+init_size; } x[cpt]=i, cpt++; } return(0); }
*** glibc detected *** ./test:realloc: invalid next size : une adresse mémoire
suivi d'une bonne vingtaine de ligne de bactrace.
Partager