diff options
| author | Julian Andres Klode <julian.klode@canonical.com> | 2021-07-01 11:34:04 +0200 |
|---|---|---|
| committer | Julian Andres Klode <julian.klode@canonical.com> | 2021-07-01 11:34:04 +0200 |
| commit | 690f6191a4332123a912c812a19a37cef253e90c (patch) | |
| tree | 6eff658848d3dc4679ad7932636d2d8ee530ffa8 | |
| parent | 2a4c2d051db91638d9c475ebbf636694f18d12cc (diff) | |
Check sources.list could be parsed before adding volatile files
We just used the pointer returned which might be nullptr, properly
call BuildSourceList() and check the result first.
Closes: #990518
| -rw-r--r-- | apt-private/private-install.cc | 2 | ||||
| -rwxr-xr-x | test/integration/test-bug-990518-sourceslist-volatile | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/apt-private/private-install.cc b/apt-private/private-install.cc index 3ffb0be32..2420865cb 100644 --- a/apt-private/private-install.cc +++ b/apt-private/private-install.cc @@ -860,6 +860,8 @@ bool DoInstall(CommandLine &CmdL) { CacheFile Cache; Cache.InhibitActionGroups(true); + if (Cache.BuildSourceList() == false) + return false; auto VolatileCmdL = GetPseudoPackages(Cache.GetSourceList(), CmdL, AddVolatileBinaryFile, ""); // then open the cache diff --git a/test/integration/test-bug-990518-sourceslist-volatile b/test/integration/test-bug-990518-sourceslist-volatile new file mode 100755 index 000000000..1353566a3 --- /dev/null +++ b/test/integration/test-bug-990518-sourceslist-volatile @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'foo' 'amd64' '1' + +echo foo > rootdir/etc/apt/sources.list.d/test.list + +testfailureequal "E: Malformed line 1 in source list ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/sources.list.d/test.list (type) +E: The list of sources could not be read." apt install ./incoming/foo_1_amd64.deb -s |
