[libvirt] [PATCH] Fix pool define crash

Jim Meyering jim at meyering.net
Wed Dec 17 20:07:52 UTC 2008


Cole Robinson <crobinso at redhat.com> wrote:
> There's a null dereference in the storage driver when defining a pool.
> Attached patch fixes it for me.
>
> Thanks,
> Cole
> diff --git a/src/storage_driver.c b/src/storage_driver.c
> index 2432a9a..ac5e443 100644
> --- a/src/storage_driver.c
> +++ b/src/storage_driver.c
> @@ -546,7 +546,7 @@ storagePoolDefine(virConnectPtr conn,
>          goto cleanup;
>      def = NULL;
>
> -    if (virStoragePoolObjSaveDef(conn, driver, pool, def) < 0) {
> +    if (virStoragePoolObjSaveDef(conn, driver, pool, pool->def) < 0) {
>          virStoragePoolObjRemove(&driver->pools, pool);
>          goto cleanup;
>      }

Looks right, and passes this test:

  qemud/libvirtd &
  sleep 1
  src/virsh --connect qemu:///session pool-define-as b dir c d e /f j
  src/virsh --connect qemu:///session pool-dumpxml b

Whereas before the patch, running pool-define-as would
cause libvirtd to segfault.

So ACK.




More information about the libvir-list mailing list