* apt-pkg/contrib/configuration.cc:
authorMichael Vogt <michael.vogt@ubuntu.com>
Wed, 14 Sep 2011 08:17:37 +0000 (10:17 +0200)
committerMichael Vogt <michael.vogt@ubuntu.com>
Wed, 14 Sep 2011 08:17:37 +0000 (10:17 +0200)
  - fix double delete (LP: #848907)
  - ignore only the invalid regexp instead of all options

apt-pkg/contrib/configuration.cc
debian/changelog

index ece05e8..2db191b 100644 (file)
@@ -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       /*{{{*/
index 21a1bf2..5c13352 100644 (file)
@@ -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