Fix possible invalid memory access

Uninitialized data is read from local variable 'addr'
diff --git a/client/main.c b/client/main.c
index 54bd537..89e2853 100644
--- a/client/main.c
+++ b/client/main.c
@@ -1513,6 +1513,19 @@
 	return bt_shell_noninteractive_quit(EXIT_SUCCESS);
 }
 
+static const char *proxy_address(GDBusProxy *proxy)
+{
+	DBusMessageIter iter;
+	const char *addr;
+
+	if (!g_dbus_proxy_get_property(proxy, "Address", &iter))
+		return NULL;
+
+	dbus_message_iter_get_basic(&iter, &addr);
+
+	return addr;
+}
+
 static void cmd_pair(int argc, char *argv[])
 {
 	GDBusProxy *proxy;
@@ -1527,7 +1540,7 @@
 		return bt_shell_noninteractive_quit(EXIT_FAILURE);
 	}
 
-	bt_shell_printf("Attempting to pair with %s\n", argv[1]);
+	bt_shell_printf("Attempting to pair with %s\n", proxy_address(proxy));
 }
 
 static void cmd_trust(int argc, char *argv[])
@@ -1542,7 +1555,7 @@
 
 	trusted = TRUE;
 
-	str = g_strdup_printf("%s trust", argv[1]);
+	str = g_strdup_printf("%s trust", proxy_address(proxy));
 
 	if (g_dbus_proxy_set_property_basic(proxy, "Trusted",
 					DBUS_TYPE_BOOLEAN, &trusted,
@@ -1566,7 +1579,7 @@
 
 	trusted = FALSE;
 
-	str = g_strdup_printf("%s untrust", argv[1]);
+	str = g_strdup_printf("%s untrust", proxy_address(proxy));
 
 	if (g_dbus_proxy_set_property_basic(proxy, "Trusted",
 					DBUS_TYPE_BOOLEAN, &trusted,
@@ -1590,7 +1603,7 @@
 
 	blocked = TRUE;
 
-	str = g_strdup_printf("%s block", argv[1]);
+	str = g_strdup_printf("%s block", proxy_address(proxy));
 
 	if (g_dbus_proxy_set_property_basic(proxy, "Blocked",
 					DBUS_TYPE_BOOLEAN, &blocked,
@@ -1614,7 +1627,7 @@
 
 	blocked = FALSE;
 
-	str = g_strdup_printf("%s unblock", argv[1]);
+	str = g_strdup_printf("%s unblock", proxy_address(proxy));
 
 	if (g_dbus_proxy_set_property_basic(proxy, "Blocked",
 					DBUS_TYPE_BOOLEAN, &blocked,
@@ -1772,16 +1785,8 @@
 		return bt_shell_noninteractive_quit(EXIT_FAILURE);
 	}
 
-	if (argc < 2 || strlen(argv[1]) == 0) {
-		DBusMessageIter iter;
-		const char *addr;
-
-		if (g_dbus_proxy_get_property(proxy, "Address", &iter) == TRUE)
-			dbus_message_iter_get_basic(&iter, &addr);
-
-		bt_shell_printf("Attempting to disconnect from %s\n", addr);
-	} else
-		bt_shell_printf("Attempting to disconnect from %s\n", argv[1]);
+	bt_shell_printf("Attempting to disconnect from %s\n",
+						proxy_address(proxy));
 }
 
 static void cmd_list_attributes(int argc, char *argv[])