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

freeze exception for reprepro



I've prepared repepro 3.5.2-2 with some fixes from 3.6.0 (which is in
experimental, so this could go via unstable).

The debdiff is as follows:

diff -u reprepro-3.5.2/debian/changelog reprepro-3.5.2/debian/changelog
--- reprepro-3.5.2/debian/changelog
+++ reprepro-3.5.2/debian/changelog
@@ -1,3 +1,12 @@
+reprepro (3.5.2-2) unstable; urgency=low
+
+  * backport some bugfixes of 3.6.0 to 3.5.2:
+  - no longer double-free with --export=never
+  - no longer trigger assert() in wrong argument of list arguments
+  - no longer trigger assert() in restorefiler
+
+ -- Bernhard R. Link <brlink@debian.org>  Wed, 06 Aug 2008 17:10:04 +0200
+
 reprepro (3.5.2-1) unstable; urgency=medium
 
   * new bugfix release
only in patch2:
unchanged:
--- reprepro-3.5.2.orig/distribution.c
+++ reprepro-3.5.2/distribution.c
@@ -792,7 +792,7 @@
 	if( when == EXPORT_NEVER ) {
 		if( verbose > 10 )
 			fprintf(stderr, "Not exporting anything as --export=never specified\n");
-		return distribution_freelist(distributions);
+		return RET_NOTHING;
 	}
 
 	for( d=distributions; d != NULL; d = d->next ) {
only in patch2:
unchanged:
--- reprepro-3.5.2.orig/main.c
+++ reprepro-3.5.2/main.c
@@ -1330,7 +1330,7 @@
 	struct distribution *destination;
 	retvalue result, r;
 
-	assert( argc == 3 );
+	assert( argc == 4 );
 
 	result = distribution_get(alldistributions, argv[1], true, &destination);
 	assert( result != RET_NOTHING );
@@ -2417,7 +2417,7 @@
 	{"removesrc", 		A_D(removesrc),
 		2, 3, "removesrc <codename> <source-package-names> [<source-version>]"},
 	{"list", 		A_ROBact(list),
-		2, -1, "[-C <component>] [-A <architecture>] [-T <type>] list <codename> <package-name>"},
+		2, 2, "[-C <component>] [-A <architecture>] [-T <type>] list <codename> <package-name>"},
 	{"listfilter", 		A_ROBact(listfilter),
 		2, 2, "[-C <component>] [-A <architecture>] [-T <type>] listfilter <codename> <term to describe which packages to list>"},
 	{"removefilter", 	A_Dact(removefilter),

Is there a chance to get a freeze exception for that?
(Note that assert (and glibc's variant in memory handling) cause
reprepro not to touch a repository again until manually repaired, so
this is not only a cosmetic problem).

Hochachtungsvoll,
	Bernhard R. Link
-- 
"Never contain programs so few bugs, as when no debugging tools are available!"
	Niklaus Wirth


Reply to: