On Thu, Jan 29, 2009 at 07:54:24AM -0800, Daniel Burrows <dburr...@debian.org> 
was heard to say:
> On Thu, Jan 29, 2009 at 11:25:12AM +0100, Enrico Tassi 
> <gareuselesi...@debian.org> was heard to say:
> > #6  0x00000000005ecccc in 
> > aptitude::apt::download_changelog_manager::prepare (
> >     this=0x2023fc0, progress=<value optimized out>, 
> >     acqlog=<value optimized out>, signallog=<value optimized out>)
> >     at pkg_changelog.cc:229
> 
>   OK, I can only see one way that this line can crash.  I don't think
> it should be happening, but I'll add the check in the attached patch to
> defend against it.

  That attached patch.

  Daniel
diff -r 2aae754dff16 src/generic/apt/pkg_changelog.cc
--- a/src/generic/apt/pkg_changelog.cc	Wed Jan 28 09:36:38 2009 -0800
+++ b/src/generic/apt/pkg_changelog.cc	Thu Jan 29 07:52:39 2009 -0800
@@ -1,6 +1,6 @@
 // pkg_changelog.cc
 //
-//  Copyright 2000, 2004-2005, 2008 Daniel Burrows
+//  Copyright 2000, 2004-2005, 2008-2009 Daniel Burrows
 //
 //  This program is free software; you can redistribute it and/or modify
 //  it under the terms of the GNU General Public License as published by
@@ -227,7 +227,7 @@
 
 	if(source_rec != NULL)
 	  for(const char **binaryIt = source_rec->Binaries();
-	      *binaryIt != NULL; ++binaryIt)
+	      binaryIt != NULL && *binaryIt != NULL; ++binaryIt)
 	    {
 	      pkgCache::PkgIterator pkg = (*apt_cache_file)->FindPkg(*binaryIt);
 	      if(!pkg.end() &&

Reply via email to