Debian Bug report logs - #598854
unblock: file-roller/2.30.2-2

Package: release.debian.org; Maintainer for release.debian.org is Debian Release Team <debian-release@lists.debian.org>;

Reported by: Josselin Mouette <joss@debian.org>

Date: Sat, 2 Oct 2010 16:36:01 UTC

Severity: normal

Done: Julien Cristau <jcristau@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Release Team <debian-release@lists.debian.org>:
Bug#598854; Package release.debian.org. (Sat, 02 Oct 2010 16:36:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Josselin Mouette <joss@debian.org>:
New Bug report received and forwarded. Copy sent to Debian Release Team <debian-release@lists.debian.org>. (Sat, 02 Oct 2010 16:36:04 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Josselin Mouette <joss@debian.org>
To: submit@bugs.debian.org
Subject: unblock: file-roller/2.30.2-2
Date: Sat, 02 Oct 2010 18:34:14 +0200
[Message part 1 (text/plain, inline)]
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: freeze-exception

Please unblock hicolor-icon-theme for squeeze.

file-roller (2.30.2-2) unstable; urgency=low
 .
   * Only suggest lzma. Closes: #595117.
   * Include some patches sitting in the upstream repository:
     + 01_rar_crasher.patch: fix a crasher with the rar command.
     + 02_escape_newlines.patch: handle the case of files with newlines
       in their name.
     + 03_tar_xz_update.patch: update .tar.xz files without losing the
       data in them. Closes: #594839.

I’m attaching the patches. The third issue is arguably RC (data loss).

Cheers,
-- 
 .''`.      Josselin Mouette
: :' :
`. `'  “If you behave this way because you are blackmailed by someone,
  `-    […] I will see what I can do for you.”  -- Jörg Schilling
[01_rar_crasher.patch (text/x-patch, inline)]
From bac5d03a29a411c79e0d838d48c404900d30066d Mon Sep 17 00:00:00 2001
From: Paolo Bacchilega <paobac@src.gnome.org>
Date: Fri, 25 Jun 2010 10:45:32 +0000
Subject: [rar] fixed seg fault when there is an extra info line in the output

---
diff --git a/src/fr-command-rar.c b/src/fr-command-rar.c
index 482ab57..2c42ba4 100644
--- a/src/fr-command-rar.c
+++ b/src/fr-command-rar.c
@@ -117,6 +117,59 @@ process_line (char     *line,
 		return;
 	}
 
+	if (! rar_comm->odd_line) {
+		FileData *fdata;
+
+		fdata = rar_comm->fdata;
+
+		/* read file info. */
+
+		fields = split_line (line, 6);
+		if (g_strv_length (fields) < 6) {
+			/* wrong line format, treat this line as a filename line */
+			g_strfreev (fields);
+			file_data_free (rar_comm->fdata);
+			rar_comm->fdata = NULL;
+			rar_comm->odd_line = TRUE;
+		}
+		else {
+			if ((strcmp (fields[2], "<->") == 0)
+			    || (strcmp (fields[2], "<--") == 0))
+			{
+				/* ignore files that span more volumes */
+
+				file_data_free (rar_comm->fdata);
+				rar_comm->fdata = NULL;
+			}
+			else {
+				fdata->size = g_ascii_strtoull (fields[0], NULL, 10);
+				fdata->modified = mktime_from_string (fields[3], fields[4]);
+
+				if ((fields[5][1] == 'D') || (fields[5][0] == 'd')) {
+					char *tmp;
+
+					tmp = fdata->full_path;
+					fdata->full_path = g_strconcat (fdata->full_path, "/", NULL);
+
+					fdata->original_path = g_strdup (fdata->original_path);
+					fdata->free_original_path = TRUE;
+
+					g_free (tmp);
+
+					fdata->name = dir_name_from_path (fdata->full_path);
+					fdata->dir = TRUE;
+				}
+				else
+					fdata->name = g_strdup (file_name_from_path (fdata->full_path));
+
+				fr_command_add_file (comm, fdata);
+				rar_comm->fdata = NULL;
+			}
+
+			g_strfreev (fields);
+		}
+	}
+
 	if (rar_comm->odd_line) {
 		FileData *fdata;
 
@@ -141,48 +194,7 @@ process_line (char     *line,
 		fdata->path = remove_level_from_path (fdata->full_path);
 	}
 	else {
-		FileData *fdata;
-
-		fdata = rar_comm->fdata;
-
-		/* read file info. */
-
-		fields = split_line (line, 6);
-
-		if ((strcmp (fields[2], "<->") == 0)
-		    || (strcmp (fields[2], "<--") == 0))
-		{
-			/* ignore files that span more volumes */
-
-			file_data_free (rar_comm->fdata);
-			rar_comm->fdata = NULL;
-		}
-		else {
-			fdata->size = g_ascii_strtoull (fields[0], NULL, 10);
-			fdata->modified = mktime_from_string (fields[3], fields[4]);
-
-			if ((fields[5][1] == 'D') || (fields[5][0] == 'd')) {
-				char *tmp;
-
-				tmp = fdata->full_path;
-				fdata->full_path = g_strconcat (fdata->full_path, "/", NULL);
-
-				fdata->original_path = g_strdup (fdata->original_path);
-				fdata->free_original_path = TRUE;
-
-				g_free (tmp);
-
-				fdata->name = dir_name_from_path (fdata->full_path);
-				fdata->dir = TRUE;
-			}
-			else
-				fdata->name = g_strdup (file_name_from_path (fdata->full_path));
-
-			fr_command_add_file (comm, fdata);
-			rar_comm->fdata = NULL;
-		}
 
-		g_strfreev (fields);
 	}
 
 	rar_comm->odd_line = ! rar_comm->odd_line;
--
cgit v0.8.3.1
[02_escape_newlines.patch (text/x-patch, inline)]
From 2194eddd71a01f178defa1137d7fab01acedf44b Mon Sep 17 00:00:00 2001
From: Paolo Bacchilega <paobac@src.gnome.org>
Date: Tue, 06 Jul 2010 07:31:15 +0000
Subject: escape new lines in filenames when saving the file list to a file

---
diff --git a/src/fr-archive.c b/src/fr-archive.c
index ff71e92..83d0889 100644
--- a/src/fr-archive.c
+++ b/src/fr-archive.c
@@ -1160,12 +1160,17 @@ save_list_to_temp_file (GList   *file_list,
 		for (scan = file_list; scan != NULL; scan = scan->next) {
 			char *filename = scan->data;
 
+			filename = str_substitute (filename, "\n", "\\n");
 			if ((g_output_stream_write (G_OUTPUT_STREAM (ostream), filename, strlen (filename), NULL, error) < 0)
 			    || (g_output_stream_write (G_OUTPUT_STREAM (ostream), "\n", 1, NULL, error) < 0))
 			{
 				error_occurred = TRUE;
-				break;
 			}
+
+			g_free (filename);
+
+			if (error_occurred)
+				break;
 		}
 		if (! error_occurred && ! g_output_stream_close (G_OUTPUT_STREAM (ostream), NULL, error))
 			error_occurred = TRUE;
--
cgit v0.8.3.1
[03_tar_xz_update.patch (text/x-patch, inline)]
From c668bfe6175ed0891dd2a42bfe590a8adf7be8de Mon Sep 17 00:00:00 2001
From: Paolo Bacchilega <paobac@src.gnome.org>
Date: Fri, 03 Sep 2010 18:09:04 +0000
Subject: fixed update of files in .tar.xz archives

[bug #628717]
---
diff --git a/src/fr-command-tar.c b/src/fr-command-tar.c
index 53ab601..650a197 100644
--- a/src/fr-command-tar.c
+++ b/src/fr-command-tar.c
@@ -769,7 +769,7 @@ get_uncompressed_name (FrCommandTar *c_tar,
 		/* X.tar.xz --> X.tar
 		 * (There doesn't seem to be a shorthand suffix) */
 		if (file_extension_is (e_filename, ".tar.xz"))
-			new_name[l - 5] = 0;
+			new_name[l - 3] = 0;
 	}
 	else if (is_mime_type (comm->mime_type, "application/x-lzop-compressed-tar")) {
 		/* X.tzo     -->  X.tar
--
cgit v0.8.3.1
[signature.asc (application/pgp-signature, inline)]

Reply sent to Julien Cristau <jcristau@debian.org>:
You have taken responsibility. (Sun, 03 Oct 2010 14:45:11 GMT) Full text and rfc822 format available.

Notification sent to Josselin Mouette <joss@debian.org>:
Bug acknowledged by developer. (Sun, 03 Oct 2010 14:45:11 GMT) Full text and rfc822 format available.

Message #10 received at 598854-done@bugs.debian.org (full text, mbox):

From: Julien Cristau <jcristau@debian.org>
To: Josselin Mouette <joss@debian.org>, 598854-done@bugs.debian.org
Subject: Re: Bug#598854: unblock: file-roller/2.30.2-2
Date: Sun, 3 Oct 2010 16:43:35 +0200
[Message part 1 (text/plain, inline)]
On Sat, Oct  2, 2010 at 18:34:14 +0200, Josselin Mouette wrote:

> file-roller (2.30.2-2) unstable; urgency=low

Unblocked.

Cheers,
Julien
[signature.asc (application/pgp-signature, inline)]

Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 01 Nov 2010 07:32:50 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Apr 16 07:55:31 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.