diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2011-09-13 16:19:09 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2011-09-13 16:19:09 +0200 |
commit | 44edc41ea7146be02775a3af05e91fc56faae3e9 (patch) | |
tree | 559ecc84e71e297542c5a49368fe7183ac9ed681 | |
parent | abcbf0af368cdda142b5d7cc03f793cfbdf23028 (diff) |
* apt-pkg/contrib/configuration.cc:
- fix double delete (LP: #848907)
- ignore only the invalid regexp instead of all options
-rw-r--r-- | apt-pkg/contrib/configuration.cc | 9 | ||||
-rw-r--r-- | debian/changelog | 3 |
2 files changed, 8 insertions, 4 deletions
diff --git a/apt-pkg/contrib/configuration.cc b/apt-pkg/contrib/configuration.cc index 942ea9fbc..2d1dee22d 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 3d9bdb31f..8ba89aed6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,6 +15,9 @@ apt (0.8.16~exp5) experimental; urgency=low * methods/mirror.cc: - include the architecture(s) in the query string as well so that the server can make better decisions + * apt-pkg/contrib/configuration.cc: + - fix double delete (LP: #848907) + - ignore only the invalid regexp instead of all options -- Michael Vogt <mvo@debian.org> Fri, 05 Aug 2011 10:57:08 +0200 |