[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