mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00:00
vshCommandParse: Don't leak @tkdata
When parsing cmd line which has "--" on it, this is leaked. Problem is, parser->getNextArg() allocates new string and stores it into tkdata. But as soon as "--" is detected 'continue' is issued without any free of the allocated memory. ==5304== 3 bytes in 1 blocks are definitely lost in loss record 1 of 782 ==5304== at 0x4C2AF50: malloc (vg_replace_malloc.c:299) ==5304== by 0x8BB5AA9: strdup (strdup.c:42) ==5304== by 0x55842CA: virStrdup (virstring.c:941) ==5304== by 0x172B21: _vshStrdup (vsh.c:162) ==5304== by 0x175E8E: vshCommandArgvGetArg (vsh.c:1622) ==5304== by 0x17551D: vshCommandParse (vsh.c:1418) ==5304== by 0x175F25: vshCommandArgvParse (vsh.c:1638) ==5304== by 0x130940: virshParseArgv (virsh.c:820) ==5304== by 0x130C49: main (virsh.c:922) Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
f784403093
commit
06e1d36f95
@ -1491,6 +1491,7 @@ vshCommandParse(vshControl *ctl, vshCommandParser *parser)
|
||||
}
|
||||
} else if (tkdata[0] == '-' && tkdata[1] == '-' &&
|
||||
tkdata[2] == '\0') {
|
||||
VIR_FREE(tkdata);
|
||||
data_only = true;
|
||||
continue;
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user