Re: [PATCH] kdb: fix memory leak

From: Dongdong Deng
Date: Fri Nov 05 2010 - 03:46:36 EST


On Fri, Nov 5, 2010 at 1:44 PM, jovi zhang <bookjovi@xxxxxxxxx> wrote:
> fix memory leak in kdb_main.c
>
> Signed-off-by: jovi zhang <bookjovi@xxxxxxxxx>
> kernel/debug/kdb/kdb_main.c | Â 13 +++++++------
> 1 files changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
> index 37755d6..3ab3fee 100644
> --- a/kernel/debug/kdb/kdb_main.c
> +++ b/kernel/debug/kdb/kdb_main.c
> @@ -2361,7 +2361,7 @@ static int kdb_pid(int argc, const char **argv)
> Â*/
> static int kdb_ll(int argc, const char **argv)
> {
> - Â Â Â int diag;
> + Â Â Â int diag = 0;
> Â Â Â Âunsigned long addr;
> Â Â Â Âlong offset = 0;
> Â Â Â Âunsigned long va;
> @@ -2400,20 +2400,21 @@ static int kdb_ll(int argc, const char **argv)
> Â Â Â Â Â Â Â Âchar buf[80];
>
> Â Â Â Â Â Â Â Âif (KDB_FLAG(CMD_INTERRUPT))
> - Â Â Â Â Â Â Â Â Â Â Â return 0;
> + Â Â Â Â Â Â Â Â Â Â Â goto out;
>
> Â Â Â Â Â Â Â Âsprintf(buf, "%s " kdb_machreg_fmt "\n", command, va);
> Â Â Â Â Â Â Â Âdiag = kdb_parse(buf);
> Â Â Â Â Â Â Â Âif (diag)
> - Â Â Â Â Â Â Â Â Â Â Â return diag;
> + Â Â Â Â Â Â Â Â Â Â Â goto out;
>
> Â Â Â Â Â Â Â Âaddr = va + linkoffset;
> Â Â Â Â Â Â Â Âif (kdb_getword(&va, addr, sizeof(va)))
> - Â Â Â Â Â Â Â Â Â Â Â return 0;
> + Â Â Â Â Â Â Â Â Â Â Â goto out;
> Â Â Â Â}
> - Â Â Â kfree(command);
>
> - Â Â Â return 0;
> +out:
> + Â Â Â kfree(command);
> + Â Â Â return diag;
> }
>
> static int kdb_kgdb(int argc, const char **argv)
>


It is ok for me. :-)

Dongdong
¢éì®&Þ~º&¶¬–+-±éÝ¥Šw®žË±Êâmébžìdz¹Þ)í…æèw*jg¬±¨¶‰šŽŠÝj/êäz¹ÞŠà2ŠÞ¨è­Ú&¢)ß«a¶Úþø®G«éh®æj:+v‰¨Šwè†Ù>Wš±êÞiÛaxPjØm¶Ÿÿà -»+ƒùdš_