On Wed, Feb 05, 2014 at 03:10:12PM +0100, Cédric Bosdonnat wrote: > --- > src/lxc/lxc_native.c | 63 ++++++++++++++++++++++ > tests/lxcconf2xmldata/lxcconf2xml-blkiotune.config | 7 +++ > tests/lxcconf2xmldata/lxcconf2xml-blkiotune.xml | 35 ++++++++++++ > tests/lxcconf2xmltest.c | 1 + > 4 files changed, 106 insertions(+) > create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-blkiotune.config > create mode 100644 tests/lxcconf2xmldata/lxcconf2xml-blkiotune.xml > + if ((!(parts = lxcStringSplit(value->str)) && (!parts[0] || !parts[1]))) { > + virReportError(VIR_ERR_INTERNAL_ERROR, > + _("invalid blkio.device_weight value: '%s'"), > + value->str); > + goto error; > + } The conditional here is wrong and crashes if lxcStringSplit returns NULL. ACK and will add the following @@ -709,7 +709,10 @@ lxcBlkioDeviceWalkCallback(const char *name, virConfValuePtr value, void *data) if (STRNEQ(name, "lxc.cgroup.blkio.device_weight") || !value->str) return 0; - if ((!(parts = lxcStringSplit(value->str)) && (!parts[0] || !parts[1]))) { + if (!(parts = lxcStringSplit(value->str))) + return -1; + + if (!parts[0] || !parts[1]) { virReportError(VIR_ERR_INTERNAL_ERROR, _("invalid blkio.device_weight value: '%s'"), value->str); -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list