From: Martin Kletzander Date: Thu, 28 Mar 2013 15:36:50 +0000 (+0100) Subject: storage: Avoid double virCommandFree in virStorageBackendLogicalDeletePool X-Git-Tag: v1.0.4~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d73f2120f2073bff9e311626f6b6febcfc1e290;p=thirdparty%2Flibvirt.git storage: Avoid double virCommandFree in virStorageBackendLogicalDeletePool When logical pool has no PVs associated with itself (user-created), virCommandFree(cmd) is called twice with the same pointer and that causes a segfault in daemon. --- diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c index bce407f870..4cf664775e 100644 --- a/src/storage/storage_backend_logical.c +++ b/src/storage/storage_backend_logical.c @@ -1,7 +1,7 @@ /* * storage_backend_logical.c: storage backend for logical volume handling * - * Copyright (C) 2007-2009, 2011 Red Hat, Inc. + * Copyright (C) 2007-2009, 2011, 2013 Red Hat, Inc. * Copyright (C) 2007-2008 Daniel P. Berrange * * This library is free software; you can redistribute it and/or @@ -667,6 +667,7 @@ virStorageBackendLogicalDeletePool(virConnectPtr conn ATTRIBUTE_UNUSED, if (virCommandRun(cmd, NULL) < 0) goto cleanup; virCommandFree(cmd); + cmd = NULL; /* now remove the pv devices and clear them out */ ret = 0;