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

Proposed stable update: recoll



Hi team,

Recently we found that Bug #614760 [1] affects stable release of
recoll and confirmed by bug reporter, upstream and another users of
same version from Ubuntu too. I would like to fix this in stable. I've
built package successfully (in Squeeze pbuilder) and attached debdiff
here. Resulted package+source can be found at [2] if someone want to
test (amd64 only).

If this looks ok, please let me know further procedures.

Thanks.

[1] RC bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614760
[2] http://people.debian.org/~kartik/packages/recoll/

-- 
Kartik Mistry | IRC: kart_
{0x1f1f, kartikm}.wordpress.com
diff -Nru recoll-1.13.04/debian/changelog recoll-1.13.04/debian/changelog
--- recoll-1.13.04/debian/changelog	2010-05-03 09:49:07.000000000 +0530
+++ recoll-1.13.04/debian/changelog	2011-10-24 17:27:10.000000000 +0530
@@ -1,3 +1,11 @@
+recoll (1.13.04-3+squeeze1) stable; urgency=low
+
+  * debian/patches/03_patch-unac-icclose.diff:
+    + plug conversion descriptor leak in unac.c::convert() error path, fixes
+      index crash (Closes: #614760)
+
+ -- Kartik Mistry <kartik@debian.org>  Mon, 24 Oct 2011 17:25:04 +0530
+
 recoll (1.13.04-3) unstable; urgency=low
 
   * Added patch for xapian 1.2 compatibility from Olly Betts <olly@survex.com>
diff -Nru recoll-1.13.04/debian/patches/03_patch-unac-icclose.diff recoll-1.13.04/debian/patches/03_patch-unac-icclose.diff
--- recoll-1.13.04/debian/patches/03_patch-unac-icclose.diff	1970-01-01 05:30:00.000000000 +0530
+++ recoll-1.13.04/debian/patches/03_patch-unac-icclose.diff	2011-10-24 13:45:53.000000000 +0530
@@ -0,0 +1,53 @@
+Description: plug conversion descriptor leak in unac.c::convert() error path
+Author: "Ersek, Laszlo" <lacos@caesar.elte.hu>
+Bug-Debian: http://bugs.debian.org/614760
+Last-Update: 2011-10-24
+
+--- recoll-1.13.04.orig/unac/unac.c
++++ recoll-1.13.04/unac/unac.c
+@@ -10661,7 +10661,7 @@ static int convert(const char* from, con
+ 	    if(errno == E2BIG)
+ 	      /* fall thru to the E2BIG case below */;
+ 	    else
+-	      return -1;
++		goto err;
+ 	  } else {
+ 	    /* The offending character was replaced by a SPACE, skip it. */
+ 	    in += 2;
+@@ -10670,7 +10670,7 @@ static int convert(const char* from, con
+ 	    break;
+ 	  }
+ 	} else {
+-	  return -1;
++	  goto err;
+ 	}
+       case E2BIG:
+ 	{
+@@ -10690,7 +10690,7 @@ static int convert(const char* from, con
+ 		      DEBUG("realloc %d bytes failed\n", out_size+1);
+ 		  free(saved);
+ 		  *outp = 0;
+-		  return -1;
++		  goto err;
+ 	      }
+ 	  }
+ 	  out = out_base + length;
+@@ -10698,7 +10698,7 @@ static int convert(const char* from, con
+ 	}
+ 	break;
+       default:
+-	return -1;
++	goto err;
+ 	break;
+       }
+     }
+@@ -10710,6 +10710,9 @@ static int convert(const char* from, con
+   (*outp)[*out_lengthp] = '\0';
+ 
+   return 0;
++err:
++  iconv_close(cd);
++  return -1;
+ }
+ 
+ int unacmaybefold_string(const char* charset,
diff -Nru recoll-1.13.04/debian/patches/series recoll-1.13.04/debian/patches/series
--- recoll-1.13.04/debian/patches/series	2010-05-03 09:47:08.000000000 +0530
+++ recoll-1.13.04/debian/patches/series	2011-10-24 13:46:24.000000000 +0530
@@ -1,2 +1,3 @@
 01_nostrip_final_binaries_437901.diff
 02_recoll-prepare-for-xapian-1.2.diff
+03_patch-unac-icclose.diff

Reply to: