Dear Erveryone:
I wonder write a similar software as the openocd on the window
platform, and now I am reading the openocd source.
I found a piece of code in the "command.c" which is in the folder
"helper". It is just a part of function "unregister_command":
/* unregister children */
if (c->children)
{
for (c2 = c->children; c2; c2 = c2->next)
{
free(c2->name);
free(c2);
}
}
I mean that first "c2 = c->children", then "free (c2)", just like
c2 equals NULL, then how "c2 = c2->next" comes?
whether this piece of code is similar to the below one:
if (c->children)
{
c2 = c->children;
c->children = null;
free(c2->name);
free(c2);
}
2008-12-10
________________________________
victor
you are quite correct that bit of code is incorrect - it would probably work
on a few systems as not all will NULL the data after a free.
probably never been noticed as the function unregister_command is not called
as far as i am aware.
I will apply a fix.
Thanks
Spen
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development