Blob Blame History Raw
From 8ee82578de78dceaa1bdeb3e757a84ca527df065 Mon Sep 17 00:00:00 2001
From: Vratislav Podzimek <vpodzime@redhat.com>
Date: Wed, 9 Mar 2016 10:33:47 +0100
Subject: [PATCH] Do not try to get object path of NULL in vgreduce

If no PV is given, we shouldn't try to get its object path.

Signed-off-by: Vratislav Podzimek <vpodzime@redhat.com>
---
 src/plugins/lvm-dbus.c  | 10 ++++++----
 tests/lvm_dbus_tests.py |  4 ++++
 tests/lvm_test.py       |  4 ++++
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/plugins/lvm-dbus.c b/src/plugins/lvm-dbus.c
index a8e5231..a508b3f 100644
--- a/src/plugins/lvm-dbus.c
+++ b/src/plugins/lvm-dbus.c
@@ -1364,14 +1364,16 @@ gboolean bd_lvm_vgreduce (gchar *vg_name, gchar *device, GError **error) {
     GVariant *params = NULL;
     GVariant *extra = NULL;
 
-    pv = get_object_path (device, error);
-    if (!pv)
-        return FALSE;
+    if (device) {
+        pv = get_object_path (device, error);
+        if (!pv)
+            return FALSE;
+    }
 
-    pv_var = g_variant_new ("o", pv);
     g_variant_builder_init (&builder, G_VARIANT_TYPE_TUPLE);
     if (device) {
         /* do not remove missing */
+        pv_var = g_variant_new ("o", pv);
         g_variant_builder_add_value (&builder, g_variant_new_boolean (FALSE));
         g_variant_builder_add_value (&builder, g_variant_new_array (NULL, &pv_var, 1));
         params = g_variant_builder_end (&builder);

-- 
2.5.0