diff options
author | Randall Nortman <openstack@nortman.net> | 2016-04-13 21:05:07 -0400 |
---|---|---|
committer | Randall Nortman <openstack@nortman.net> | 2016-04-13 21:52:02 -0400 |
commit | a27f51242b041f8afd79d4fa2d4d6eaf1dda9f0c (patch) | |
tree | 7e842f827224b984f62eff8181dc97fddb449972 /pbr/version.py | |
parent | d4e29cb5d23e2bd1cf1b8a6b166b034279c764d7 (diff) | |
download | pbr-1.9.1.tar.gz |
Handle IndexError during version string parsing1.9.1
Some odd version strings can cause SemanticVersion.from_pip_string()
to raise IndexError. This change converts IndexError to ValueError.
Change-Id: Ic3046817b6c5808c61c4a3bc3d912501e6a52274
Closes-Bug: #1570145
Diffstat (limited to 'pbr/version.py')
-rw-r--r-- | pbr/version.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/pbr/version.py b/pbr/version.py index d3fe401..619c432 100644 --- a/pbr/version.py +++ b/pbr/version.py @@ -142,6 +142,14 @@ class SemanticVersion(object): ever released - we're treating that as a critical bug that we ever made them and have stopped doing that. """ + + try: + return klass._from_pip_string_unsafe(version_string) + except IndexError: + raise ValueError("Invalid version %r" % version_string) + + @classmethod + def _from_pip_string_unsafe(klass, version_string): # Versions need to start numerically, ignore if not if not version_string[:1].isdigit(): raise ValueError("Invalid version %r" % version_string) |