From 19000fab15ab0b30c95a1bf6e034aa3c6bdc36cb Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Mon, 16 Dec 2024 13:15:28 +0100 Subject: Fix out-of-bounds read in `apt show :` We tried to access str.size() - 1 on a 0-sized string, which does not work, and now that we build with assertions triggers it. Closes: #1090068 --- apt-pkg/cacheset.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'apt-pkg') diff --git a/apt-pkg/cacheset.cc b/apt-pkg/cacheset.cc index bfc85ef49..230e3d68f 100644 --- a/apt-pkg/cacheset.cc +++ b/apt-pkg/cacheset.cc @@ -60,6 +60,9 @@ bool CacheSetHelper::PackageFromTask(PackageContainerInterface * const pci, pkgC pattern.erase(archfound); } + if (pattern.empty()) + return false; + if (pattern[pattern.length() -1] != '^') return false; pattern.erase(pattern.length()-1); -- cgit v1.2.3-70-g09d2