File fix-error-handling-in-openscap-module-bsc-1188647-41.patch of Package salt

From ed841ab9fe2cf7fc1c10eba4431ff51a0d61e7f1 Mon Sep 17 00:00:00 2001
From: Vladimir Nadvornik <nadvornik@suse.cz>
Date: Wed, 11 Aug 2021 12:18:59 +0200
Subject: [PATCH] Fix error handling in openscap module (bsc#1188647)
 (#410)

Fix issue with Python 2.6
---
 salt/modules/openscap.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/salt/modules/openscap.py b/salt/modules/openscap.py
index 52d77a5395..4db6f7f970 100644
--- a/salt/modules/openscap.py
+++ b/salt/modules/openscap.py
@@ -155,7 +155,9 @@ def xccdf_eval(xccdffile, ovalfiles=None, **kwargs):
         tempdir = tempfile.mkdtemp()
         proc = Popen(cmd_opts, stdout=PIPE, stderr=PIPE, cwd=tempdir)
         (stdoutdata, error) = proc.communicate()
-        success = _OSCAP_EXIT_CODES_MAP[proc.returncode]
+        success = _OSCAP_EXIT_CODES_MAP.get(proc.returncode, False)
+        if proc.returncode < 0:
+            error += "\nKilled by signal {0}\n".format(proc.returncode).encode('ascii')
         returncode = proc.returncode
         if success:
             caller = Caller()
@@ -206,7 +208,9 @@ def xccdf(params):
         proc = Popen(
             shlex.split(cmd), stdout=PIPE, stderr=PIPE, cwd=tempdir)
         (stdoutdata, error) = proc.communicate()
-        success = _OSCAP_EXIT_CODES_MAP[proc.returncode]
+        success = _OSCAP_EXIT_CODES_MAP.get(proc.returncode, False)
+        if proc.returncode < 0:
+            error += "\nKilled by signal {0}\n".format(proc.returncode).encode('ascii')
         returncode = proc.returncode
         if success:
             caller = Caller()
-- 
2.32.0


openSUSE Build Service is sponsored by