mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-23 14:15:28 +00:00
qemu: Fix a memory leak in qemudExtractTTYPath
qemudWaitForMonitor calls qemudReadLogOutput with qemudFindCharDevicePTYs as callback. qemudFindCharDevicePTYs calls qemudExtractTTYPath to assign a string to chr->data.file.path. Afterwards qemudWaitForMonitor may call qemudFindCharDevicePTYsMonitor that overwrites chr->data.file.path without freeing the old value. This results in leaking the memory allocated by qemudExtractTTYPath. Report an OOM error if the strdup in qemudFindCharDevicePTYsMonitor fails.
This commit is contained in:
parent
4c81b0fdc5
commit
f01ee2acc8
@ -1433,7 +1433,13 @@ qemudFindCharDevicePTYsMonitor(virConnectPtr conn,
|
||||
return -1; \
|
||||
} \
|
||||
\
|
||||
VIR_FREE(chr->data.file.path); \
|
||||
chr->data.file.path = strdup(path); \
|
||||
\
|
||||
if (chr->data.file.path == NULL) { \
|
||||
virReportOOMError(conn); \
|
||||
return -1; \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user