From f097589fb2ccb1ba947cb0efef0bbe4c443c6f98 Mon Sep 17 00:00:00 2001 From: Martin Krizek Date: Thu, 6 Aug 2020 16:59:31 +0200 Subject: [PATCH] 2.9: YUM: Ensure we have enough values to split (#56802) (#71104) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Ensure we have enough values to split (#56802) Avoid raising an exception if pkgstr does not complains with expected value. (cherry picked from commit 433c98eae0dfbc7f915c87c92423721bc19a5c79) * Add changelog Co-authored-by: Adrián López --- changelogs/fragments/56800-fix-yum-list-repoquery.yml | 2 ++ lib/ansible/modules/packaging/os/yum.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/56800-fix-yum-list-repoquery.yml diff --git a/changelogs/fragments/56800-fix-yum-list-repoquery.yml b/changelogs/fragments/56800-fix-yum-list-repoquery.yml new file mode 100644 index 00000000000..1c21db9f65a --- /dev/null +++ b/changelogs/fragments/56800-fix-yum-list-repoquery.yml @@ -0,0 +1,2 @@ +bugfixes: + - yum - fix yum list crashing if repoquery (used internally) prints errors in stdout (https://github.com/ansible/ansible/issues/56800) diff --git a/lib/ansible/modules/packaging/os/yum.py b/lib/ansible/modules/packaging/os/yum.py index 69cc9aa2d94..3ecacef66ac 100644 --- a/lib/ansible/modules/packaging/os/yum.py +++ b/lib/ansible/modules/packaging/os/yum.py @@ -809,7 +809,7 @@ class YumModule(YumDnf): os.environ["https_proxy"] = old_proxy_env[1] def pkg_to_dict(self, pkgstr): - if pkgstr.strip(): + if pkgstr.strip() and pkgstr.count('|') == 5: n, e, v, r, a, repo = pkgstr.split('|') else: return {'error_parsing': pkgstr}