mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
kdb: fix memory leak in kdb_main.c
Call kfree in the error path as well as the success path in kdb_ll(). Signed-off-by: Jovi Zhang <bookjovi@gmail.com> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
This commit is contained in:
@@ -2361,7 +2361,7 @@ static int kdb_pid(int argc, const char **argv)
|
|||||||
*/
|
*/
|
||||||
static int kdb_ll(int argc, const char **argv)
|
static int kdb_ll(int argc, const char **argv)
|
||||||
{
|
{
|
||||||
int diag;
|
int diag = 0;
|
||||||
unsigned long addr;
|
unsigned long addr;
|
||||||
long offset = 0;
|
long offset = 0;
|
||||||
unsigned long va;
|
unsigned long va;
|
||||||
@@ -2400,20 +2400,21 @@ static int kdb_ll(int argc, const char **argv)
|
|||||||
char buf[80];
|
char buf[80];
|
||||||
|
|
||||||
if (KDB_FLAG(CMD_INTERRUPT))
|
if (KDB_FLAG(CMD_INTERRUPT))
|
||||||
return 0;
|
goto out;
|
||||||
|
|
||||||
sprintf(buf, "%s " kdb_machreg_fmt "\n", command, va);
|
sprintf(buf, "%s " kdb_machreg_fmt "\n", command, va);
|
||||||
diag = kdb_parse(buf);
|
diag = kdb_parse(buf);
|
||||||
if (diag)
|
if (diag)
|
||||||
return diag;
|
goto out;
|
||||||
|
|
||||||
addr = va + linkoffset;
|
addr = va + linkoffset;
|
||||||
if (kdb_getword(&va, addr, sizeof(va)))
|
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)
|
static int kdb_kgdb(int argc, const char **argv)
|
||||||
|
Reference in New Issue
Block a user