From 706e8fe6cb93323e6b03c662aaced03a36db3574 Mon Sep 17 00:00:00 2001 From: Sam Bingner Date: Thu, 11 Apr 2019 13:31:14 -1000 Subject: Don't access invalid string indexes --- apt-pkg/deb/debmetaindex.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc index f25906fba..610965024 100644 --- a/apt-pkg/deb/debmetaindex.cc +++ b/apt-pkg/deb/debmetaindex.cc @@ -682,13 +682,13 @@ bool debReleaseIndex::SetSignedBy(std::string const &pSignedBy) SignedBy = os.str(); } // Normalize the string: Remove trailing commas - while (SignedBy[SignedBy.size() - 1] == ',') + while (SignedBy.size() > 0 && SignedBy[SignedBy.size() - 1] == ',') SignedBy.resize(SignedBy.size() - 1); } else { // Only compare normalized strings auto pSignedByView = APT::StringView(pSignedBy); - while (pSignedByView[pSignedByView.size() - 1] == ',') + while (pSignedByView.size() > 0 && pSignedByView[pSignedByView.size() - 1] == ',') pSignedByView = pSignedByView.substr(0, pSignedByView.size() - 1); if (pSignedByView != SignedBy) return _error->Error(_("Conflicting values set for option %s regarding source %s %s: %s != %s"), "Signed-By", URI.c_str(), Dist.c_str(), SignedBy.c_str(), pSignedByView.to_string().c_str()); -- cgit v1.2.3