Fixes UnboundLocalError issue. 09/36609/2
authorlhinds <lhinds@redhat.com>
Tue, 27 Jun 2017 20:12:06 +0000 (21:12 +0100)
committerlhinds <lhinds@redhat.com>
Tue, 27 Jun 2017 20:17:15 +0000 (21:17 +0100)
If no hash exists in the project exception file, then `return
binary_hash` is Nonetype which throws an Unbound variable error.

This change adds some dummy text to allow try / except statements
to deal with missing entries in project exception files.

JIRA: RELENG-264

Change-Id: I98fb4b01a2930b350794326d4cf735c8e014e00a
Signed-off-by: lhinds <lhinds@redhat.com>
anteater/src/get_lists.py
anteater/src/patch_scan.py

index d7b0c47..b7b9aea 100644 (file)
@@ -83,9 +83,13 @@ class GetLists(object):
         file_name = os.path.basename(patch_file)
         try:
             binary_hash = (yl['binaries'][project][file_name])
+            return binary_hash
         except KeyError:
-            logger.error('Key Error processing binary hash values')
-        return binary_hash
+            logger.info('No checksum entries found for {0}'.
+                        format(file_name))
+            binary_hash = 'null'
+            return binary_hash
+
 
     def file_audit_list(self, project):
         project_list = False
index 51b3430..f8ef225 100644 (file)
@@ -89,7 +89,7 @@ def scan_patch(project, patch_file, binary_list, file_audit_list,
             else:
                 logger.error('Non Whitelisted Binary file: {0}'.
                              format(patch_file))
-                logger.error('Please submit patch with this hash:: {0}'.
+                logger.error('Submit patch with the following hash: {0}'.
                              format(hasher.hexdigest()))
             failure = True
             with open(reports_dir + "binaries-" + project + ".log", "a") \