mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 06:35:24 +00:00
Fix invalid read in virCgroupGetValueStr
Don't check for '\n' at the end of file if zero bytes were read. Found by valgrind: ==404== Invalid read of size 1 ==404== at 0x529B09F: virCgroupGetValueStr (vircgroup.c:540) ==404== by 0x529AF64: virCgroupMoveTask (vircgroup.c:1079) ==404== by 0x1EB475: qemuSetupCgroupForEmulator (qemu_cgroup.c:1061) ==404== by 0x1D9489: qemuProcessStart (qemu_process.c:3801) ==404== by 0x18557E: qemuDomainObjStart (qemu_driver.c:5787) ==404== by 0x190FA4: qemuDomainCreateWithFlags (qemu_driver.c:5839) Introduced by0d0b409
. https://bugzilla.redhat.com/show_bug.cgi?id=978356 (cherry picked from commit306c49ffd5
)
This commit is contained in:
parent
8b9b6c2538
commit
38edb034c6
@ -537,7 +537,7 @@ static int virCgroupGetValueStr(virCgroupPtr group,
|
||||
VIR_DEBUG("Failed to read %s: %m\n", keypath);
|
||||
} else {
|
||||
/* Terminated with '\n' has sometimes harmful effects to the caller */
|
||||
if ((*value)[rc - 1] == '\n')
|
||||
if (rc > 0 && (*value)[rc - 1] == '\n')
|
||||
(*value)[rc - 1] = '\0';
|
||||
|
||||
rc = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user