sim: Be sure of calling freeargv() after successfully call buildargv().

Or there will be memory leak.

2015-02-02  Chen Gang <gang.chen.5i5j@gmail.com>

	* mcore/interp.c (sim_do_command): Call freeargv() before return.
This commit is contained in:
Chen Gang 2015-01-31 06:06:38 +08:00
parent c9ba137e21
commit cd71915c77
2 changed files with 7 additions and 0 deletions

View file

@ -1,3 +1,7 @@
2015-02-02 Chen Gang <gang.chen.5i5j@gmail.com>
* mcore/interp.c (sim_do_command): Call freeargv() before return.
2015-02-02 Chen Gang <gang.chen.5i5j@gmail.com> 2015-02-02 Chen Gang <gang.chen.5i5j@gmail.com>
* common/sim-options.c (sim_args_command): Call freeargv() when * common/sim-options.c (sim_args_command): Call freeargv() when

View file

@ -2143,6 +2143,7 @@ sim_do_command (sd, cmd)
if ((simargv[1] == NULL) || (simargv[2] == NULL)) if ((simargv[1] == NULL) || (simargv[2] == NULL))
{ {
fprintf (stderr, "Error: missing argument to watch cmd.\n"); fprintf (stderr, "Error: missing argument to watch cmd.\n");
freeargv (simargv);
return; return;
} }
@ -2187,6 +2188,8 @@ sim_do_command (sd, cmd)
fprintf (stderr,"Error: \"%s\" is not a valid M.CORE simulator command.\n", fprintf (stderr,"Error: \"%s\" is not a valid M.CORE simulator command.\n",
cmd); cmd);
} }
freeargv (simargv);
} }
else else
{ {