From 6a38ce67e68900b6f17832541806611c40023877 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Thu, 6 Feb 2014 23:18:22 +0100
Subject: [PATCH 1/1] core: fix pid-file argument passed to vpnc
Passing --pid-file option and its argument in a single string isn't
understood by vpnc's option parser - both have to be passed as separate
argv members.
https://bugzilla.gnome.org/show_bug.cgi?id=723804
Signed-off-by: Thomas Haller <thaller@redhat.com>
---
src/nm-vpnc-service.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/nm-vpnc-service.c b/src/nm-vpnc-service.c
index 02d8bc8..d5bee61 100644
--- a/src/nm-vpnc-service.c
+++ b/src/nm-vpnc-service.c
@@ -306,7 +306,6 @@ nm_vpnc_start_vpnc_binary (NMVPNCPlugin *plugin, GError **error)
GPtrArray *vpnc_argv;
GSource *vpnc_watch;
gint stdin_fd;
- char *pid_arg;
/* Find vpnc */
vpnc_binary = vpnc_binary_paths;
@@ -325,13 +324,12 @@ nm_vpnc_start_vpnc_binary (NMVPNCPlugin *plugin, GError **error)
return -1;
}
- pid_arg = g_strdup_printf ("--pid-file %s", priv->pid_file);
-
vpnc_argv = g_ptr_array_new ();
g_ptr_array_add (vpnc_argv, (gpointer) (*vpnc_binary));
g_ptr_array_add (vpnc_argv, (gpointer) "--non-inter");
g_ptr_array_add (vpnc_argv, (gpointer) "--no-detach");
- g_ptr_array_add (vpnc_argv, (gpointer) pid_arg);
+ g_ptr_array_add (vpnc_argv, (gpointer) "--pid-file");
+ g_ptr_array_add (vpnc_argv, (gpointer) priv->pid_file);
g_ptr_array_add (vpnc_argv, (gpointer) "-");
g_ptr_array_add (vpnc_argv, NULL);
@@ -339,12 +337,10 @@ nm_vpnc_start_vpnc_binary (NMVPNCPlugin *plugin, GError **error)
G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &pid, &stdin_fd,
NULL, NULL, error)) {
g_ptr_array_free (vpnc_argv, TRUE);
- g_free (pid_arg);
g_warning ("vpnc failed to start. error: '%s'", (*error)->message);
return -1;
}
g_ptr_array_free (vpnc_argv, TRUE);
- g_free (pid_arg);
g_message ("vpnc started with pid %d", pid);
--
1.8.5.3