Bonjour tout le monde,
Suite à une erreur que je n'arrive pas à traquer, je suis aller voir pour utiliser d'autre méthode de recherche, et je suis tomber sur valgrind.
Le problème, c'est que si je comprend bien, j'ai des erreurs partout dans mon code ... Par exemple il me pointe ce petit bout de code la :
Il m'écrit "Invalid write of size 1" en ce qui concerne la ligne : string->ptr[newSize] = '\0';Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 void em_string_check (em_string_t * string, unsigned int newSize) { if ( string->size == 0 ) { string->ptr = em_malloc(newSize * sizeof(char)); } else if ( string->size < newSize) { string->ptr = em_realloc(string->ptr, newSize * sizeof(char)); } string->size = newSize; string->ptr[newSize] = '\0'; }
Et je ne comprend pas bien pourquoi ? Il faut savoir que ma mes fonctions em_malloc() et em_realloc() s'occupe de flinguer le programme si l'allocation a foiré.
Il m'écrit le même genre d'alerte avec un :
D'après ce que je comprend, on aime pas que les blocs soient écrit en dur avec valgrind ??Code:
1
2
3
4
5 if ( strcmp(test, "un_mot") == 0 ) { // ... }
Merci d'avance