
On 05/13/14 13:40, Martin Kletzander wrote:
Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/locking/lock_driver_sanlock.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/locking/lock_driver_sanlock.c b/src/locking/lock_driver_sanlock.c index b3d31bf..e4b4e8e 100644 --- a/src/locking/lock_driver_sanlock.c +++ b/src/locking/lock_driver_sanlock.c @@ -907,9 +907,6 @@ static int virLockManagerSanlockAcquire(virLockManagerPtr lock, return -1; }
- if (VIR_ALLOC(opt) < 0) - return -1; - /* We only initialize 'sock' if we are in the real * child process and we need it to be inherited * @@ -944,6 +941,9 @@ static int virLockManagerSanlockAcquire(virLockManagerPtr lock, return 0; }
+ if (VIR_ALLOC(opt) < 0) + return -1;
you need to goto error here. The code you are moving around is opening a socket to sanlock which would be left open if this alloc would fail.
+ /* sanlock doesn't use owner_name for anything, so it's safe to take just * the first SANLK_NAME_LEN - 1 characters from vm_name */ ignore_value(virStrncpy(opt->owner_name, priv->vm_name,
ACK with that change. Peter