
Cole Robinson <crobinso@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.