From: Adam Litke Date: Thu, 21 Jan 2010 15:26:35 +0000 (+0100) Subject: domMemoryStats / qemu: Fix parsing of unknown stats X-Git-Tag: v0.7.6~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80b4d20dfe9cf9258854d3fa224f0aedf6dfacac;p=thirdparty%2Flibvirt.git domMemoryStats / qemu: Fix parsing of unknown stats Fix a small problem with the qemu memory stats parsing algorithm. If qemu reports a stat that libvirt does not recognize, skip past it so parsing can continue. This corrects a potential infinite loop in the parsing code that can only be triggered if new statistics are added to qemu. * src/qemu/qemu_monitor_text.c: qemuMonitorParseExtraBalloonInfo add a skip for extra ',' --- diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c index c3848b5246..0909b4da3d 100644 --- a/src/qemu/qemu_monitor_text.c +++ b/src/qemu/qemu_monitor_text.c @@ -507,7 +507,11 @@ static int qemuMonitorParseExtraBalloonInfo(char *text, ",total_mem=", &stats[nr_stats_found])) nr_stats_found++; - /* Skip to the next label */ + /* Skip to the next label. When *p is ',' the last match attempt + * failed so try to match the next ','. + */ + if (*p == ',') + p++; p = strchr (p, ','); if (!p) break; }