You can find these patches applied on: git://gitorious.org/~zippy2/libvirt/michal-staging.git branch is called 'oom'. The patch 2/5 is totally mechaninc: s/strdup/VIR_STRDUP/ (not for all files, obviously). That's why I've trimmed it before sending. Michal Privoznik (5): virutil: Move string related functions to virstring.c Introduce VIR_STRDUP to replace strdup virstring: Introduce virVasprintfNOOM and make virVasprintf report OOM viralloc: Introduce OOM error reporting to VIR_ALLOC and friends Adapt to new OOM error reporting HACKING | 33 +- cfg.mk | 12 +- daemon/libvirtd-config.c | 61 ++-- daemon/libvirtd.c | 60 ++-- daemon/remote.c | 397 ++++++++--------------- daemon/stream.c | 4 +- docs/hacking.html.in | 36 ++- po/POTFILES.in | 1 + python/libvirt-override.c | 108 ++++--- src/conf/capabilities.c | 29 +- src/conf/cpu_conf.c | 55 ++-- src/conf/cpu_conf.h | 6 +- src/conf/device_conf.c | 11 +- src/conf/device_conf.h | 4 +- src/conf/domain_audit.c | 5 +- src/conf/domain_conf.c | 422 ++++++++---------------- src/conf/domain_conf.h | 1 - src/conf/domain_event.c | 61 ++-- src/conf/domain_nwfilter.h | 2 + src/conf/interface_conf.c | 36 +-- src/conf/interface_conf.h | 2 +- src/conf/netdev_bandwidth_conf.c | 18 +- src/conf/netdev_vlan_conf.c | 4 +- src/conf/netdev_vport_profile_conf.c | 7 +- src/conf/network_conf.c | 92 ++---- src/conf/node_device_conf.c | 38 +-- src/conf/node_device_conf.h | 4 +- src/conf/nwfilter_conf.c | 55 +--- src/conf/nwfilter_conf.h | 1 - src/conf/nwfilter_ipaddrmap.c | 8 +- src/conf/nwfilter_params.c | 58 ++-- src/conf/secret_conf.c | 5 +- src/conf/snapshot_conf.c | 63 ++-- src/conf/storage_conf.c | 54 +--- src/conf/storage_conf.h | 1 - src/conf/storage_encryption_conf.c | 13 +- src/conf/virchrdev.c | 23 +- src/cpu/cpu.c | 4 +- src/cpu/cpu_arm.c | 4 +- src/cpu/cpu_generic.c | 24 +- src/cpu/cpu_map.c | 7 +- src/cpu/cpu_map.h | 2 +- src/cpu/cpu_powerpc.c | 44 +-- src/cpu/cpu_s390.c | 4 +- src/cpu/cpu_x86.c | 73 ++--- src/datatypes.c | 37 +-- src/driver.c | 4 +- src/esx/esx_device_monitor.c | 2 - src/esx/esx_device_monitor.h | 1 - src/esx/esx_driver.c | 130 +++----- src/esx/esx_driver.h | 1 - src/esx/esx_interface_driver.c | 25 +- src/esx/esx_interface_driver.h | 1 - src/esx/esx_network_driver.c | 57 ++-- src/esx/esx_network_driver.h | 1 - src/esx/esx_nwfilter_driver.c | 2 - src/esx/esx_nwfilter_driver.h | 1 - src/esx/esx_private.h | 1 - src/esx/esx_secret_driver.c | 2 - src/esx/esx_secret_driver.h | 1 - src/esx/esx_storage_backend_iscsi.c | 28 +- src/esx/esx_storage_backend_iscsi.h | 1 - src/esx/esx_storage_backend_vmfs.c | 113 ++----- src/esx/esx_storage_backend_vmfs.h | 1 - src/esx/esx_storage_driver.c | 1 - src/esx/esx_storage_driver.h | 1 - src/esx/esx_util.c | 49 +-- src/esx/esx_vi.c | 126 +++----- src/esx/esx_vi.h | 1 - src/esx/esx_vi_methods.c | 1 - src/esx/esx_vi_methods.h | 1 - src/esx/esx_vi_types.c | 33 +- src/esx/esx_vi_types.h | 1 - src/fdstream.c | 13 +- src/hyperv/hyperv_device_monitor.c | 4 - src/hyperv/hyperv_device_monitor.h | 1 - src/hyperv/hyperv_driver.c | 84 ++--- src/hyperv/hyperv_driver.h | 1 - src/hyperv/hyperv_interface_driver.c | 4 - src/hyperv/hyperv_interface_driver.h | 1 - src/hyperv/hyperv_network_driver.c | 4 - src/hyperv/hyperv_network_driver.h | 1 - src/hyperv/hyperv_nwfilter_driver.c | 4 - src/hyperv/hyperv_nwfilter_driver.h | 1 - src/hyperv/hyperv_private.h | 1 - src/hyperv/hyperv_secret_driver.c | 4 - src/hyperv/hyperv_secret_driver.h | 1 - src/hyperv/hyperv_storage_driver.c | 4 - src/hyperv/hyperv_storage_driver.h | 1 - src/hyperv/hyperv_util.c | 27 +- src/hyperv/hyperv_util.h | 1 - src/hyperv/hyperv_wmi.c | 21 +- src/hyperv/hyperv_wmi.h | 3 - src/hyperv/hyperv_wmi_classes.c | 1 - src/hyperv/hyperv_wmi_classes.h | 1 - src/hyperv/openwsman.h | 1 - src/interface/interface_backend_netcf.c | 12 +- src/interface/interface_backend_udev.c | 72 ++--- src/libvirt.c | 45 ++- src/libvirt_private.syms | 34 +- src/libxl/libxl_conf.c | 82 ++--- src/libxl/libxl_driver.c | 98 ++---- src/locking/lock_daemon.c | 75 ++--- src/locking/lock_daemon_config.c | 28 +- src/locking/lock_daemon_dispatch.c | 6 +- src/locking/lock_driver_lockd.c | 80 ++--- src/locking/lock_driver_sanlock.c | 41 +-- src/locking/lock_manager.c | 35 +- src/lxc/lxc_cgroup.c | 7 +- src/lxc/lxc_conf.c | 39 +-- src/lxc/lxc_container.c | 139 +++----- src/lxc/lxc_controller.c | 67 ++-- src/lxc/lxc_driver.c | 131 +++----- src/lxc/lxc_fuse.c | 19 +- src/lxc/lxc_fuse.h | 1 - src/lxc/lxc_monitor.c | 7 +- src/lxc/lxc_process.c | 53 ++- src/network/bridge_driver.c | 180 ++++------- src/node_device/node_device_driver.c | 40 +-- src/node_device/node_device_hal.c | 6 +- src/node_device/node_device_linux_sysfs.c | 5 +- src/node_device/node_device_udev.c | 116 +++---- src/nodeinfo.c | 73 ++--- src/nwfilter/nwfilter_dhcpsnoop.c | 58 ++-- src/nwfilter/nwfilter_dhcpsnoop.h | 2 + src/nwfilter/nwfilter_driver.c | 27 +- src/nwfilter/nwfilter_ebiptables_driver.c | 45 +-- src/nwfilter/nwfilter_ebiptables_driver.h | 2 + src/nwfilter/nwfilter_gentech_driver.c | 43 +-- src/nwfilter/nwfilter_learnipaddr.c | 37 +-- src/openvz/openvz_conf.c | 98 +++--- src/openvz/openvz_driver.c | 37 +-- src/parallels/parallels_driver.c | 122 +++---- src/parallels/parallels_network.c | 49 +-- src/parallels/parallels_storage.c | 115 +++---- src/parallels/parallels_utils.c | 7 +- src/phyp/phyp_driver.c | 158 +++------ src/qemu/qemu_agent.c | 31 +- src/qemu/qemu_bridge_filter.c | 1 - src/qemu/qemu_bridge_filter.h | 1 + src/qemu/qemu_capabilities.c | 108 +++---- src/qemu/qemu_cgroup.c | 1 - src/qemu/qemu_command.c | 521 +++++++++++++----------------- src/qemu/qemu_conf.c | 124 +++---- src/qemu/qemu_domain.c | 63 ++-- src/qemu/qemu_driver.c | 255 +++++---------- src/qemu/qemu_hotplug.c | 103 ++---- src/qemu/qemu_migration.c | 135 +++----- src/qemu/qemu_monitor.c | 44 +-- src/qemu/qemu_monitor_json.c | 159 +++------ src/qemu/qemu_monitor_text.c | 258 ++++----------- src/qemu/qemu_process.c | 127 +++----- src/remote/remote_driver.c | 229 +++++-------- src/rpc/gendispatch.pl | 26 +- src/rpc/virkeepalive.c | 1 - src/rpc/virnetclient.c | 44 +-- src/rpc/virnetclientprogram.c | 16 +- src/rpc/virnetclientstream.c | 4 +- src/rpc/virnetmessage.c | 31 +- src/rpc/virnetsaslcontext.c | 9 +- src/rpc/virnetserver.c | 34 +- src/rpc/virnetserverclient.c | 34 +- src/rpc/virnetservermdns.c | 26 +- src/rpc/virnetserverprogram.c | 8 +- src/rpc/virnetserverservice.c | 12 +- src/rpc/virnetsocket.c | 25 +- src/rpc/virnetsshsession.c | 49 ++- src/rpc/virnettlscontext.c | 26 +- src/secret/secret_driver.c | 62 ++-- src/security/security_apparmor.c | 55 +--- src/security/security_dac.c | 26 +- src/security/security_manager.c | 8 +- src/security/security_nop.c | 6 +- src/security/security_selinux.c | 115 ++----- src/security/security_stack.c | 8 +- src/security/virt-aa-helper.c | 20 +- src/storage/parthelper.c | 2 +- src/storage/storage_backend.c | 78 ++--- src/storage/storage_backend_disk.c | 49 +-- src/storage/storage_backend_fs.c | 74 ++--- src/storage/storage_backend_iscsi.c | 43 +-- src/storage/storage_backend_logical.c | 73 ++--- src/storage/storage_backend_mpath.c | 33 +- src/storage/storage_backend_rbd.c | 23 +- src/storage/storage_backend_scsi.c | 38 +-- src/storage/storage_backend_sheepdog.c | 9 +- src/storage/storage_driver.c | 55 ++-- src/test/test_driver.c | 203 ++++-------- src/uml/uml_conf.c | 55 ++-- src/uml/uml_driver.c | 70 ++-- src/util/iohelper.c | 13 +- src/util/viralloc.c | 91 +++++- src/util/viralloc.h | 52 ++- src/util/viraudit.c | 10 +- src/util/virauth.c | 36 +-- src/util/virauthconfig.c | 31 +- src/util/virbitmap.c | 11 +- src/util/virbuffer.c | 8 +- src/util/vircgroup.c | 12 +- src/util/vircommand.c | 46 ++- src/util/vircommand.h | 1 - src/util/virconf.c | 24 +- src/util/virdnsmasq.c | 48 +-- src/util/virebtables.c | 33 +- src/util/virerror.c | 11 +- src/util/vireventpoll.c | 14 +- src/util/virfile.c | 15 +- src/util/virhash.c | 18 +- src/util/virhook.c | 10 +- src/util/virhook.h | 1 - src/util/viridentity.c | 11 +- src/util/virinitctl.c | 19 +- src/util/viriptables.c | 21 +- src/util/virjson.c | 12 +- src/util/virkeyfile.c | 10 +- src/util/virlockspace.c | 65 ++-- src/util/virlog.c | 19 +- src/util/virnetdev.c | 58 +--- src/util/virnetdevbandwidth.c | 26 +- src/util/virnetdevbridge.c | 17 +- src/util/virnetdevmacvlan.c | 27 +- src/util/virnetdevopenvswitch.c | 17 +- src/util/virnetdevopenvswitch.h | 1 - src/util/virnetdevtap.c | 18 +- src/util/virnetdevveth.c | 14 +- src/util/virnetdevvlan.c | 4 +- src/util/virnetdevvportprofile.c | 13 +- src/util/virnetdevvportprofile.h | 4 +- src/util/virnetlink.c | 8 +- src/util/virobject.c | 12 +- src/util/virpci.c | 88 ++--- src/util/virpidfile.c | 15 +- src/util/virportallocator.c | 1 - src/util/virprocess.c | 31 +- src/util/virrandom.c | 13 +- src/util/virsexpr.c | 18 +- src/util/virsocketaddr.c | 13 +- src/util/virstatslinux.c | 1 - src/util/virstoragefile.c | 50 +-- src/util/virstring.c | 384 +++++++++++++++++++++- src/util/virstring.h | 62 ++++ src/util/virsysinfo.c | 16 +- src/util/virsysinfo.h | 2 +- src/util/virthreadpool.c | 21 +- src/util/virthreadpthread.c | 2 +- src/util/virtime.c | 9 +- src/util/virtypedparam.c | 49 +-- src/util/viruri.c | 45 ++- src/util/virusb.c | 20 +- src/util/virutil.c | 512 ++++------------------------- src/util/virutil.h | 49 +-- src/util/viruuid.c | 2 +- src/util/virxml.c | 15 +- src/vbox/vbox_MSCOMGlue.c | 9 +- src/vbox/vbox_XPCOMCGlue.c | 17 +- src/vbox/vbox_driver.c | 1 - src/vbox/vbox_tmpl.c | 369 +++++++-------------- src/vmware/vmware_conf.c | 59 +--- src/vmware/vmware_driver.c | 25 +- src/vmx/vmx.c | 125 +++---- src/xen/block_stats.c | 14 +- src/xen/xen_driver.c | 59 ++-- src/xen/xen_hypervisor.c | 73 ++--- src/xen/xen_inotify.c | 29 +- src/xen/xend_internal.c | 130 +++----- src/xen/xm_internal.c | 54 ++-- src/xen/xs_internal.c | 48 +-- src/xenapi/xenapi_driver.c | 76 ++--- src/xenapi/xenapi_utils.c | 44 ++- src/xenxs/xen_sxpr.c | 232 ++++++------- src/xenxs/xen_xm.c | 283 ++++++++-------- tests/commandhelper.c | 6 +- tests/commandtest.c | 14 +- tests/cputest.c | 11 +- tests/domainsnapshotxml2xmltest.c | 3 +- tests/esxutilstest.c | 1 - tests/eventtest.c | 6 +- tests/interfacexml2xmltest.c | 4 +- tests/libvirtdconftest.c | 13 +- tests/lxcxml2xmltest.c | 3 +- tests/networkxml2conftest.c | 9 +- tests/networkxml2xmltest.c | 3 +- tests/nodedevxml2xmltest.c | 3 +- tests/nodeinfotest.c | 4 +- tests/nwfilterxml2xmltest.c | 9 +- tests/openvzutilstest.c | 8 +- tests/qemuargv2xmltest.c | 4 +- tests/qemuhelptest.c | 3 +- tests/qemumonitortest.c | 1 - tests/qemumonitortestutils.c | 11 +- tests/qemuxml2argvtest.c | 10 +- tests/qemuxml2xmltest.c | 3 +- tests/qemuxmlnstest.c | 8 +- tests/securityselinuxlabeltest.c | 7 +- tests/securityselinuxtest.c | 7 +- tests/sexpr2xmltest.c | 7 +- tests/storagepoolxml2xmltest.c | 3 +- tests/storagevolxml2argvtest.c | 5 +- tests/storagevolxml2xmltest.c | 3 +- tests/sysinfotest.c | 7 +- tests/test_conf.c | 2 +- tests/testutils.c | 26 +- tests/utiltest.c | 3 +- tests/virauthconfigtest.c | 1 - tests/virbuftest.c | 4 +- tests/virdrivermoduletest.c | 1 - tests/virhashtest.c | 7 +- tests/viridentitytest.c | 1 - tests/virkeyfiletest.c | 1 - tests/virlockspacetest.c | 10 +- tests/virnetmessagetest.c | 1 - tests/virnetsockettest.c | 10 +- tests/virnettlscontexttest.c | 10 +- tests/virportallocatortest.c | 5 +- tests/virshtest.c | 4 +- tests/virstoragetest.c | 1 + tests/virstringtest.c | 1 - tests/virtimetest.c | 1 - tests/viruritest.c | 1 - tests/vmx2xmltest.c | 3 +- tests/xencapstest.c | 5 +- tests/xmconfigtest.c | 11 +- tests/xml2sexprtest.c | 5 +- tests/xml2vmxtest.c | 3 +- tools/console.c | 1 - tools/virsh-domain-monitor.c | 3 +- tools/virsh-domain.c | 1 - tools/virsh-host.c | 6 +- tools/virsh-interface.c | 3 +- tools/virsh-network.c | 1 - tools/virsh-nodedev.c | 1 - tools/virsh-nwfilter.c | 2 +- tools/virsh-pool.c | 6 +- tools/virsh-secret.c | 4 +- tools/virsh-snapshot.c | 1 - tools/virsh-volume.c | 5 +- tools/virsh.c | 26 +- tools/virt-host-validate-common.c | 3 +- 338 files changed, 4797 insertions(+), 8145 deletions(-) -- 1.8.1.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list