summaryrefslogtreecommitdiff
path: root/apt-pkg/pkgrecords.cc
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2005-09-22 13:36:39 +0000
committerMichael Vogt <michael.vogt@ubuntu.com>2005-09-22 13:36:39 +0000
commit14cd494a9fa0d6801410bf121beb74ea631d59a6 (patch)
treeb25799799bb1f9d78ab167b91f21763ae3764aaa /apt-pkg/pkgrecords.cc
parentceb00be9927199c067827a630ddc254149afcb57 (diff)
* make sure that the pkgRecords D'tor does not segfault
Diffstat (limited to 'apt-pkg/pkgrecords.cc')
-rw-r--r--apt-pkg/pkgrecords.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/apt-pkg/pkgrecords.cc b/apt-pkg/pkgrecords.cc
index 9c2655d6a..1d71d3e2f 100644
--- a/apt-pkg/pkgrecords.cc
+++ b/apt-pkg/pkgrecords.cc
@@ -42,6 +42,9 @@ pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache), Files(0)
if (Files[I->ID] == 0)
return;
}
+ // We store that to make sure that the destructor won't segfault,
+ // even if the Cache object was destructed before this instance.
+ PackageFileCount = Cache.HeaderP->PackageFileCount;
}
/*}}}*/
// Records::~pkgRecords - Destructor /*{{{*/
@@ -49,7 +52,7 @@ pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache), Files(0)
/* */
pkgRecords::~pkgRecords()
{
- for (unsigned I = 0; I != Cache.HeaderP->PackageFileCount; I++)
+ for (unsigned I = 0; I != PackageFileCount; I++)
delete Files[I];
delete [] Files;
}