Summary: | portage-2.3.14 Manifest verification fails for all-numeric checksum | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Ulrich Müller <ulm> |
Component: | Core - Ebuild Support | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | esigra |
Priority: | Normal | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 240187, 637452 | ||
Attachments: |
foo-1.ebuild
Manifest |
Description
Ulrich Müller
2017-11-19 16:25:28 UTC
Created attachment 504964 [details]
foo-1.ebuild
Ebuild to reproduce the problem.
Created attachment 504966 [details]
Manifest
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=b4a444819986e6f4d987ec746dc00508190f1e3c commit b4a444819986e6f4d987ec746dc00508190f1e3c Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2017-11-19 16:56:50 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2017-11-20 18:38:00 +0000 portage.manifest: Fix mis-parsing Manifests with numerical checksums Fix the regular expression used to parse Manifests not to fail horribly when one of the checksums accidentally happens to be all-digits. The previously used regular expression used to greedily take everything up to the first number as filename. If one of the checksums happened to be purely numeric, this meant that everything up to that checksum was taken as filename, and the checksum itself was taken as file size. It was also capable of accepting an empty filename. The updated regular expression uses '\S+' to match filenames. Therefore, the match is terminated on first whitespace character and filenames can no longer contain spaces. Not that it could ever work reliably. Spotted by Ulrich Müller. Bug: https://bugs.gentoo.org/638148 Reviewed-by: Zac Medico <zmedico@gentoo.org> pym/portage/manifest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)} |