From fd4d895b208937ef84a3c367f5b55e3c46375130 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 14 Sep 2011 10:17:37 +0200 Subject: * apt-pkg/contrib/configuration.cc: - fix double delete (LP: #848907) - ignore only the invalid regexp instead of all options --- apt-pkg/contrib/configuration.cc | 9 +++++---- debian/changelog | 5 +++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/apt-pkg/contrib/configuration.cc b/apt-pkg/contrib/configuration.cc index ece05e8f6..2db191ba2 100644 --- a/apt-pkg/contrib/configuration.cc +++ b/apt-pkg/contrib/configuration.cc @@ -870,10 +870,10 @@ Configuration::MatchAgainstConfig::MatchAgainstConfig(char const * Config) { regfree(p); delete p; - clearPatterns(); - _error->Warning("Regex compilation error for '%s' in configuration option '%s'", - s->c_str(), Config); - return; + _error->Warning("Invalid regular expression '%s' in configuration " + "option '%s' will be ignored.", + s->c_str(), Config); + continue; } } if (strings.size() == 0) @@ -894,6 +894,7 @@ void Configuration::MatchAgainstConfig::clearPatterns() regfree(*p); delete *p; } + patterns.clear(); } /*}}}*/ // MatchAgainstConfig::Match - returns true if a pattern matches /*{{{*/ diff --git a/debian/changelog b/debian/changelog index 21a1bf216..5c133521c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,11 @@ apt (0.8.15.8) UNRELEASED; urgency=low * cmdline/apt-get.cc: - output list of virtual package providers to c1out in -q=1 instead of /dev/null to unbreak sbuild (LP: #816155) + + [ Michael Vogt ] + * apt-pkg/contrib/configuration.cc: + - fix double delete (LP: #848907) + - ignore only the invalid regexp instead of all options -- David Kalnischkies Tue, 13 Sep 2011 17:39:10 +0200 -- cgit v1.2.3