summaryrefslogtreecommitdiff
path: root/apt-pkg/contrib/configuration.cc
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 /apt-pkg/contrib/configuration.cc
parent84cdd603b8d4c457b88c17b387b1533ee0fe92ef (diff)
* apt-pkg/contrib/configuration.cc:
- fix double delete (LP: #848907) - ignore only the invalid regexp instead of all options
Diffstat (limited to 'apt-pkg/contrib/configuration.cc')
-rw-r--r--apt-pkg/contrib/configuration.cc9
1 files changed, 5 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 /*{{{*/