]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Defining the variable "tmp" before try block
authorBharat Kumar Kobagana <bkobagan@redhat.com>
Thu, 20 Nov 2014 11:39:38 +0000 (17:09 +0530)
committerBharat Kumar Kobagana <bkobagan@redhat.com>
Fri, 21 Nov 2014 03:10:02 +0000 (08:40 +0530)
In file "image_utils.py", "tmp" variable initialized in try
block. So, if any exception occurred in the try block, then
"tmp" would not be assigned with any value. Because of this
finally block will raise an exception like "local variable
tmp tried to use before the assignment".

This patch resolves that issue by defining "tmp" variable before
try block.

Change-Id: I9d8c8eaaeba0a7aab7ebfc791b9ddd967f324184
Closes-Bug: #1394548

cinder/image/image_utils.py

index 3d280a3ca41c4bdb80bf5f3a17ec2ecfcdc18181..d1dea63a0f9f6e00bceb870f178bc6cdf190331f 100644 (file)
@@ -389,11 +389,13 @@ def rename_file(src, dst):
 
 @contextlib.contextmanager
 def temporary_file(*args, **kwargs):
+    tmp = None
     try:
         tmp = create_temporary_file(*args, **kwargs)
         yield tmp
     finally:
-        fileutils.delete_if_exists(tmp)
+        if tmp:
+            fileutils.delete_if_exists(tmp)
 
 
 def temporary_dir():