summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2011-09-14 10:17:37 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2011-09-14 10:17:37 +0200
commitfd4d895b208937ef84a3c367f5b55e3c46375130 (patch)
tree454efec8360f68ef2456ef29638174774535625a
parent84cdd603b8d4c457b88c17b387b1533ee0fe92ef (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.cc9
-rw-r--r--debian/changelog5
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 <kalnischkies@gmail.com> Tue, 13 Sep 2011 17:39:10 +0200