mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: avoid text monitor null deref
Detected by Coverity. If, for some reason, our text monitor input does not match our assumptions, we end up incrementing p while it is NULL, then dereferencing the pointer 0x1, which will fault. * src/qemu/qemu_monitor_text.c (qemuMonitorTextGetBlockStatsParamsNumber): Rewrite to avoid deref of strchr failure. Fix indentation.
This commit is contained in:
parent
ce521f242a
commit
60be9e8c0e
@ -1036,9 +1036,8 @@ int qemuMonitorTextGetBlockStatsParamsNumber(qemuMonitorPtr mon,
|
||||
* "floppy0: ")
|
||||
*/
|
||||
p = strchr(p, ' ');
|
||||
p++;
|
||||
|
||||
while (*p) {
|
||||
while (p && p < eol) {
|
||||
if (STRPREFIX (p, " rd_bytes=") ||
|
||||
STRPREFIX (p, " wr_bytes=") ||
|
||||
STRPREFIX (p, " rd_operations=") ||
|
||||
@ -1053,9 +1052,7 @@ int qemuMonitorTextGetBlockStatsParamsNumber(qemuMonitorPtr mon,
|
||||
}
|
||||
|
||||
/* Skip to next label. */
|
||||
p = strchr (p, ' ');
|
||||
if (!p || p >= eol) break;
|
||||
p++;
|
||||
p = strchr(p + 1, ' ');
|
||||
}
|
||||
|
||||
*nparams = num;
|
||||
|
Loading…
Reference in New Issue
Block a user