]> git.ipfire.org Git - thirdparty/libvirt.git/commit
vshCommandParse: Don't leak @tkdata
authorMichal Privoznik <mprivozn@redhat.com>
Mon, 13 Nov 2017 13:46:36 +0000 (14:46 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 11 Jan 2018 17:53:04 +0000 (18:53 +0100)
commit06e1d36f9583cada41ed455fa37434fbf070ed6d
tree813c3620f91ca948b1b4eb456cf2ae2c3cc4b6e0
parentf78440309364f3faeb05fc4c1fcaa9e397bad2bd
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>
tools/vsh.c