diff -Nru /tmp/QLfDBsB0NK/gksu-1.9.3/debian/changelog /tmp/3BYnjzZwPP/gksu-1.9.3/debian/changelog --- /tmp/QLfDBsB0NK/gksu-1.9.3/debian/changelog 2006-10-27 13:36:37.000000000 +0200 +++ /tmp/3BYnjzZwPP/gksu-1.9.3/debian/changelog 2006-10-27 13:36:38.000000000 +0200 @@ -1,3 +1,11 @@ +gksu (1.9.3-1ubuntu2.1) edgy-proposed; urgency=low + + * debian/patches/01_quote_escape.diff: + - quote any " ' " charackters in the arguments so that it is + properly passed on to su/sudo (lp: #51419) + + -- Michael Vogt Tue, 24 Oct 2006 15:46:56 +0200 + gksu (1.9.3-1ubuntu2) edgy; urgency=low * Install the nautilus extension in 'nautilus-gksu' binary package diff -Nru /tmp/QLfDBsB0NK/gksu-1.9.3/debian/patches/01_quote_escape.diff /tmp/3BYnjzZwPP/gksu-1.9.3/debian/patches/01_quote_escape.diff --- /tmp/QLfDBsB0NK/gksu-1.9.3/debian/patches/01_quote_escape.diff 1970-01-01 01:00:00.000000000 +0100 +++ /tmp/3BYnjzZwPP/gksu-1.9.3/debian/patches/01_quote_escape.diff 2006-10-27 13:36:38.000000000 +0200 @@ -0,0 +1,23 @@ +--- gksu-1.9.3.orig/gksu/gksu.c ++++ gksu-1.9.3/gksu/gksu.c +@@ -421,6 +421,20 @@ + + for (i = optind + 1; i < newargc; i++) + { ++ // check for ' in string and escape it ++ if(strchr(newargv[i],'\'') != NULL) { ++ const gchar *p = newargv[i]; ++ gchar *q,*dest; ++ dest = q = g_malloc(strlen(newargv[i])*2+1); ++ while(*p) { ++ if (*p == '\'') ++ *q++ = '\\'; ++ *q++ = *p++; ++ } ++ *q = 0; ++ g_free(newargv[i]); ++ newargv[i] = dest; ++ } + tmp = g_strconcat (command, " '", newargv[i], "'", NULL); + g_free (command); + command = tmp;