2007-05-20 Marcus Brinkmann <marcus@g10code.de>
[gpg4win.git] / patches / glib-2.12.12 / 03-gspawn-w32-fixup.patch
1 #! /bin/sh
2 patch -p1 -f $* < $0
3 exit $?
4
5 This patch is needed to complete 02-gspawn-w32.patch by Werner: When
6 the complete path is used, it may contain spaces, and thus it needs to
7 be quoted.
8
9 2006-05-29  Marcus Brinkmann  <marcus@g10code.com>
10
11         * glib/gspawn-win32.c (do_spawn_with_pipes): Protect the first
12         argument by quotes.
13
14 diff -ru glib-2.9.2-wk1-orig/glib/gspawn-win32.c glib-2.9.2-wk1/glib/gspawn-win32.c
15 --- glib-2.9.2-wk1-orig/glib/gspawn-win32.c     2006-05-29 00:12:10.000000000 +0200
16 +++ glib-2.9.2-wk1/glib/gspawn-win32.c  2006-05-29 00:13:16.000000000 +0200
17 @@ -696,7 +696,7 @@
18          helper_process = helper_process_buf; /* Yes, use that one. */
19      }
20  
21 -  new_argv[0] = helper_process;
22 +  new_argv[0] = protect_argv_string (helper_process);
23    _g_sprintf (args[ARG_CHILD_ERR_REPORT], "%d", child_err_report_pipe[1]);
24    new_argv[ARG_CHILD_ERR_REPORT] = args[ARG_CHILD_ERR_REPORT];
25    
26 @@ -800,6 +800,7 @@
27           g_error_free (conv_error);
28           g_strfreev (protected_argv);
29           g_free (new_argv[ARG_WORKING_DIRECTORY]);
30 +         g_free (new_argv[0]);
31           g_free (new_argv);
32           g_free (whelper);
33           
34 @@ -814,6 +815,7 @@
35           g_error_free (conv_error);
36           g_strfreev (protected_argv);
37           g_free (new_argv[ARG_WORKING_DIRECTORY]);
38 +         g_free (new_argv[0]);
39           g_free (new_argv);
40           g_free (whelper);
41           g_strfreev ((gchar **) wargv);
42 @@ -855,6 +857,7 @@
43           g_error_free (conv_error);
44           g_strfreev (protected_argv);
45           g_free (new_argv[ARG_WORKING_DIRECTORY]);
46 +         g_free (new_argv[0]);
47           g_free (new_argv);
48           
49           return FALSE;
50 @@ -868,6 +871,7 @@
51           g_error_free (conv_error);
52           g_strfreev (protected_argv);
53           g_free (new_argv[ARG_WORKING_DIRECTORY]);
54 +         g_free (new_argv[0]);
55           g_free (new_argv);
56           g_strfreev (cpargv);
57           
58 @@ -899,6 +903,7 @@
59    g_strfreev (protected_argv);
60  
61    g_free (new_argv[ARG_WORKING_DIRECTORY]);
62 +  g_free (new_argv[0]);
63    g_free (new_argv);
64  
65    /* Check if gspawn-win32-helper couldn't be run */