[libvirt] [PATCH] Add missing error reporting when loading mac filter config for QEMU

If the 'mac_filter' configuration parameter is enabled, and there is a failure to enable filtering, no error is reported back to the caller. Also fix some bogus whitespace indentation for hugetlbfs_mount * src/qemu/qemu_conf.c: Add missing error reporting --- src/qemu/qemu_conf.c | 24 ++++++++++++++---------- 1 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index b00b391..3d8aba4 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -378,16 +378,16 @@ int qemudLoadDriverConfig(struct qemud_driver *driver, } } - p = virConfGetValue (conf, "hugetlbfs_mount"); - CHECK_TYPE ("hugetlbfs_mount", VIR_CONF_STRING); - if (p && p->str) { - VIR_FREE(driver->hugetlbfs_mount); - if (!(driver->hugetlbfs_mount = strdup(p->str))) { - virReportOOMError(); - virConfFree(conf); - return -1; - } - } + p = virConfGetValue (conf, "hugetlbfs_mount"); + CHECK_TYPE ("hugetlbfs_mount", VIR_CONF_STRING); + if (p && p->str) { + VIR_FREE(driver->hugetlbfs_mount); + if (!(driver->hugetlbfs_mount = strdup(p->str))) { + virReportOOMError(); + virConfFree(conf); + return -1; + } + } p = virConfGetValue (conf, "mac_filter"); CHECK_TYPE ("mac_filter", VIR_CONF_LONG); @@ -398,12 +398,16 @@ int qemudLoadDriverConfig(struct qemud_driver *driver, virReportSystemError(errno, _("failed to enable mac filter in '%s'"), __FILE__); + virConfFree(conf); + return -1; } if ((errno = networkDisableAllFrames(driver))) { virReportSystemError(errno, _("failed to add rule to drop all frames in '%s'"), __FILE__); + virConfFree(conf); + return -1; } } -- 1.7.4.4

On 06/14/2011 08:57 AM, Daniel P. Berrange wrote:
If the 'mac_filter' configuration parameter is enabled, and there is a failure to enable filtering, no error is reported back to the caller. Also fix some bogus whitespace indentation for hugetlbfs_mount
I probably would have split this into two patches, but oh well. The net result is still small enough to be reviewable.
* src/qemu/qemu_conf.c: Add missing error reporting --- src/qemu/qemu_conf.c | 24 ++++++++++++++---------- 1 files changed, 14 insertions(+), 10 deletions(-)
@@ -398,12 +398,16 @@ int qemudLoadDriverConfig(struct qemud_driver *driver, virReportSystemError(errno, _("failed to enable mac filter in '%s'"), __FILE__); + virConfFree(conf); + return -1; }
if ((errno = networkDisableAllFrames(driver))) { virReportSystemError(errno, _("failed to add rule to drop all frames in '%s'"), __FILE__); + virConfFree(conf); + return -1;
Here's the meat of the change. ACK. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
participants (2)
-
Daniel P. Berrange
-
Eric Blake