Browse Source

search: Handle packages without description

If a package has no description, we would crash in search. While
this should not happen, there seem to be some weird cases where
it does.

A safer way might be to make the whole parser thing safe
against this, so pkgRecords::Lookup(Desc.FileList()) works
and returns a parser where all values are empty. This would
also fix all other instances of this bug, if there are any.

Closes: #810622
tags/debian/1.2
Julian Andres Klode 5 years ago
parent
commit
ace5a062fc
1 changed files with 5 additions and 2 deletions
  1. +5
    -2
      apt-private/private-search.cc

+ 5
- 2
apt-private/private-search.cc View File

@@ -91,8 +91,11 @@ static bool FullTextSearch(CommandLine &CmdL) /*{{{*/

char const * const PkgName = P.Name();
pkgCache::DescIterator Desc = V.TranslatedDescription();
pkgRecords::Parser &parser = records.Lookup(Desc.FileList());
std::string const LongDesc = parser.LongDesc();
std::string LongDesc = "";
if (!Desc.end()) {
pkgRecords::Parser &parser = records.Lookup(Desc.FileList());
LongDesc = parser.LongDesc();
}

bool all_found = true;
for (std::vector<regex_t>::const_iterator pattern = Patterns.begin();


Loading…
Cancel
Save