From 9c3e15ab5f8b5864c43a08065a6bc8cf376fd138 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 16 Jul 2014 15:48:05 +0200 Subject: Do not crash for apt-get install /dev/null Thanks to Jakub Wilk for the bugreport. Closes: #754904 --- apt-pkg/cacheset.cc | 2 ++ test/integration/test-apt-get-install-deb | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100755 test/integration/test-apt-get-install-deb diff --git a/apt-pkg/cacheset.cc b/apt-pkg/cacheset.cc index 346bad3aa..d95a32aff 100644 --- a/apt-pkg/cacheset.cc +++ b/apt-pkg/cacheset.cc @@ -450,6 +450,8 @@ bool VersionContainerInterface::FromString(VersionContainerInterface * const vci if(FileExists(pkg)) { PackageContainerInterface::FromString(&pkgset, Cache, pkg, helper); + if(pkgset.size() == 0) + return false; return VersionContainerInterface::FromPackage(vci, Cache, pkgset.begin(), fallback, helper); } diff --git a/test/integration/test-apt-get-install-deb b/test/integration/test-apt-get-install-deb new file mode 100755 index 000000000..700009da5 --- /dev/null +++ b/test/integration/test-apt-get-install-deb @@ -0,0 +1,30 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework + +setupenvironment +configarchitecture "i386" + +# regression test for #754904 +testequal 'E: Unable to locate package /dev/null' aptget install -qq /dev/null + +# and ensure we fail for invalid debs +cat > foo.deb <