[glib] Escape arguments when putting together a cmdline



commit fcddf9c2a1e0c76843af91d6d530194bcb7d8791
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Jul 8 14:58:33 2010 -0400

    Escape arguments when putting together a cmdline
    
    See bug 623770

 gio/gdesktopappinfo.c |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c
index 6600684..ea2d403 100644
--- a/gio/gdesktopappinfo.c
+++ b/gio/gdesktopappinfo.c
@@ -698,18 +698,28 @@ expand_macro (char              macro,
       if (info->icon_name)
 	{
 	  g_string_append (exec, "--icon ");
-	  g_string_append (exec, info->icon_name);
+          expanded = g_shell_quote (info->icon_name);
+	  g_string_append (exec, expanded);
+          g_free (expanded);
 	}
       break;
 
     case 'c':
       if (info->name) 
-	g_string_append (exec, info->name);
+        {
+          expanded = g_shell_quote (info->name);
+	  g_string_append (exec, expanded);
+          g_free (expanded);
+        }
       break;
 
     case 'k':
       if (info->filename) 
-	g_string_append (exec, info->filename);
+        {
+          expanded = g_shell_quote (info->filename);
+	  g_string_append (exec, info->filename);
+          g_free (expanded);
+        }
       break;
 
     case 'm': /* deprecated */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]