Просмотр исходного кода

In blankpackage, intialize ->installed and ->available. Found by me and
Fumitoshi UKAI <ukai@debian.or.jp>. This should help several segfaults
that people have been seeing in dpkg.

Adam Heath лет назад: 25
Родитель
Сommit
5f100a01af
3 измененных файлов с 10 добавлено и 0 удалено
  1. 6 0
      ChangeLog
  2. 2 0
      debian/changelog
  3. 2 0
      lib/database.c

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+Wed Apr 18 23:53:40 CDT 2001 Adam Heath <doogie@debian.org>
+
+  * lib/database.c: In blankpackage, intialize ->installed and ->available.
+    Found by me and Fumitoshi UKAI <ukai@debian.or.jp>.  This should help
+    several segfaults that people have been seeing in dpkg.
+
 Wed Apr 18 23:42:16 CDT 2001 Adam Heath <doogie@debian.org>
 
   * lib/mlib.c: If the buffer size is 0 in buffer_copy, then return, and

+ 2 - 0
debian/changelog

@@ -56,6 +56,8 @@ dpkg (1.9.0) unstable; urgency=low
     processing substvars
   * Very package signatures if debsig-verify is installed
   * Handle window resize in dselect main menu. Closes: Bug#93559
+  * Initialize all parts of the package record.  This should fix several
+    segfaults people have been seeing in dpkg.  Closes: #90328.
 
  -- Wichert Akkerman <wakkerma@debian.org>  UNRELEASED
 

+ 2 - 0
lib/database.c

@@ -123,6 +123,8 @@ void blankpackage(struct pkginfo *pigp) {
   pigp->installed.valid= 0;
   pigp->available.valid= 0;
   pigp->clientdata= 0;
+  blankpackageperfile(&pigp->installed);
+  blankpackageperfile(&pigp->available);
 }
 
 void blankpackageperfile(struct pkginfoperfile *pifp) {