[PATCH] kdb: fix memory leak

From: jovi zhang
Date: Fri Nov 05 2010 - 01:44:47 EST


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)
N‹§²æìr¸›yúèšØb²X¬¶ÇvØ^–)Þ{.nÇ+‰·¥Š{±‘êçzX§¶›¡Ü}©ž²ÆzÚ&j:+v‰¨¾«‘êçzZ+€Ê+zf£¢·hšˆ§~†­†Ûiÿûàz¹®w¥¢¸?™¨è­Ú&¢)ßf”ù^jÇy§m…á@A«a¶Úÿ 0¶ìh®å’i