Problemas de perdida de memoria con memoria dinamica

Iniciado por ing_maipu, 26 Octubre 2017, 22:13 PM

0 Miembros y 1 Visitante están viendo este tema.

ing_maipu

Hola
Usando como entorno de trabajo un MCU NXP KE02 estoy intentando hacer una función en C que me devuelva un string. El contenido de dicho string varia con lo cual estoy usando memoria dinámica. El problema que estoy teniendo, es que cuando ejecuto por primera vez la función, funciona perfecta. Sin embargo, debuggeando descubrí que cuando quiero ejecutarla por segunda vez, se me resetea el MCU en el momento de ejecutar la linea del pedido de memoria (calloc), evidenciando un problema de pérdida de memoria o algo por el estilo. La función en la siguiente:


char *editar_parametro{
char *str_escrito = NULL;
str_escrito = (char *) calloc (5,sizeof(char));
str_escrito[0] = '\0';
strcpy(str_escrito,"Hola");

return str_escrito;
}


int main(){
for(;;){

char *str = editar_parametro();
strcpy(str_global,str);
free(str);

}

}



Alguno tiene idea qué puede ser lo que esté andando mal?
Saludos y gracias

CalgaryCorpus

Creo que el problema esta en lo que no se ve.

Como estas definiendo str_global?

No lo muestras, muestras que estas copiando en esa variable, pero no aparece definida.
Ahi debe estar el problema.

Aqui mi perfil en LinkedIn, invitame un cafe aqui