Jaromir Capik 9bcbb09
diff -Naur xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c
Jaromir Capik 9bcbb09
--- xarchiver-0.5.2.orig/src/window.c	2012-01-12 13:28:54.000000000 +0100
Jaromir Capik 9bcbb09
+++ xarchiver-0.5.2/src/window.c	2012-01-23 20:43:49.622745851 +0100
Jaromir Capik 9bcbb09
@@ -1724,6 +1724,9 @@
Jaromir Capik 9bcbb09
 			gtk_tree_selection_selected_foreach (selection,(GtkTreeSelectionForeachFunc) xa_concat_selected_filenames,&names);
Jaromir Capik 9bcbb09
 			archive->full_path = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (extract_window->extract_full));
Jaromir Capik 9bcbb09
 			archive->overwrite = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (extract_window->overwrite_check));
Jaromir Capik 9bcbb09
+			gchar *unescaped_extraction_path = archive->extraction_path;
Jaromir Capik 9bcbb09
+			archive->extraction_path = xa_escape_filename(unescaped_extraction_path, "$'`\"\\!?* ()[]&|;;<>#");
Jaromir Capik 9bcbb09
+			g_free(unescaped_extraction_path);
Jaromir Capik 9bcbb09
 			(*archive->extract) (archive,names);
Jaromir Capik 9bcbb09
 
Jaromir Capik 9bcbb09
 			g_list_foreach (row_list,(GFunc) gtk_tree_path_free,NULL);