aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2012-05-07 21:22:09 +0200
committerJim Meyering <meyering@redhat.com>2012-05-07 21:40:38 +0200
commitc6694ab85c207e51c6f39cd958c4323b636d8d8d (patch)
tree7c4b4afa7728995e6a053b225c0cd1087843a2a5 /tools
parentutil: set src_pid for virNetlinkCommand when appropriate (diff)
downloadlibvirt-c6694ab85c207e51c6f39cd958c4323b636d8d8d.tar.gz
libvirt-c6694ab85c207e51c6f39cd958c4323b636d8d8d.tar.bz2
libvirt-c6694ab85c207e51c6f39cd958c4323b636d8d8d.zip
virsh: avoid heap corruption leading to virsh abort
* tools/virsh.c (vshParseSnapshotDiskspec): Fix off-by-3 memmove that would corrupt heap when parsing escaped --diskspec comma. Bug introduced via commit v0.9.4-260-g35d52b5.
Diffstat (limited to 'tools')
-rw-r--r--tools/virsh.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/virsh.c b/tools/virsh.c
index 1207ac9c5..dd9292a1f 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -16107,7 +16107,7 @@ vshParseSnapshotDiskspec(vshControl *ctl, virBufferPtr buf, const char *str)
while ((tmp = strchr(tmp, ','))) {
if (tmp[1] == ',') {
/* Recognize ,, as an escape for a literal comma */
- memmove(&tmp[1], &tmp[2], len - (tmp - spec) + 2);
+ memmove(&tmp[1], &tmp[2], len - (tmp - spec) - 2 + 1);
len--;
tmp++;
continue;