Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ing_maipu en 26 Octubre 2017, 22:13 pm



Título: Problemas de perdida de memoria con memoria dinamica
Publicado por: ing_maipu en 26 Octubre 2017, 22:13 pm
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:

Código:
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


Título: Re: Problemas de perdida de memoria con memoria dinamica
Publicado por: CalgaryCorpus en 28 Octubre 2017, 18:48 pm
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.