Dear maintainer, please apply this patch that solves the bug:

diff --git a/src/fr-command-unarchiver.c b/src/fr-command-unarchiver.c
index 27d3382..714bf29 100644
--- a/src/fr-command-unarchiver.c
+++ b/src/fr-command-unarchiver.c
@@ -205,8 +205,13 @@ fr_command_unarchiver_extract (FrCommand  *comm,

        fr_process_add_arg (comm->process, comm->filename);

-       for (scan = file_list; scan; scan = scan->next)
-               fr_process_add_arg (comm->process, scan->data);
+       for (scan = file_list; scan; scan = scan->next) {
+               char *escaped;
+
+               escaped = _g_str_escape (scan->data, "[");
+               fr_process_add_arg (comm->process, escaped);
+               g_free (escaped);
+       }

        fr_process_end_command (comm->process);
 }
diff --git a/src/fr-command-unarchiver.c b/src/fr-command-unarchiver.c
index 27d3382..714bf29 100644
--- a/src/fr-command-unarchiver.c
+++ b/src/fr-command-unarchiver.c
@@ -205,8 +205,13 @@ fr_command_unarchiver_extract (FrCommand  *comm,
 
 	fr_process_add_arg (comm->process, comm->filename);
 
-	for (scan = file_list; scan; scan = scan->next)
-		fr_process_add_arg (comm->process, scan->data);
+	for (scan = file_list; scan; scan = scan->next) {
+		char *escaped;
+
+ 		escaped = _g_str_escape (scan->data, "[");
+ 		fr_process_add_arg (comm->process, escaped);
+ 		g_free (escaped);
+	}
 
 	fr_process_end_command (comm->process);
 }

Reply via email to