This bug has been fixed upstream in commit
b68ce88357daf362e60d7f8f131041289c8db690

http://anonscm.debian.org/gitweb/?p=apt/apt.git;a=commit;h=b68ce88357daf362e60d7f8f131041289c8db690

commit b68ce88357daf362e60d7f8f131041289c8db690
Author: Julian Andres Klode <[email protected]>
Date:   Mon Mar 17 13:43:12 2014 +0100

    apt-inst: Do not try to create a substring of an empty string in error 
reporting
    
    One of our compressors (the empty one) has an empty extension. Calling 
substr
    on it fails.

diff --git a/apt-inst/deb/debfile.cc b/apt-inst/deb/debfile.cc
index 3803329..a63cb67 100644
--- a/apt-inst/deb/debfile.cc
+++ b/apt-inst/deb/debfile.cc
@@ -124,8 +124,10 @@ bool debDebFile::ExtractTarMember(pkgDirStream 
&Stream,const char *Name)
    {
       std::string ext = std::string(Name) + ".{";
       for (std::vector<APT::Configuration::Compressor>::const_iterator c = 
compressor.begin();
-          c != compressor.end(); ++c)
-        ext.append(c->Extension.substr(1));
+          c != compressor.end(); ++c) {
+        if (!c->Extension.empty())
+           ext.append(c->Extension.substr(1));
+      }
       ext.append("}");
       return _error->Error(_("Internal error, could not locate member %s"), 
ext.c_str());
    }

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1288718

Title:
  apt-extracttemplates crashed with SIGABRT in
  __gnu_cxx::__verbose_terminate_handler()

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1288718/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to