From 6dd8162627ff6a636c11e09caa82fd51aa2ad048 Mon Sep 17 00:00:00 2001 From: Matthew Treinish Date: Mon, 12 Aug 2013 15:01:22 -0400 Subject: [PATCH] Move all opens in auth_token to be in context This commit switches the use of open() to be in a with context. This will prevent leaking file descriptors because using a context provides an inherent close(). Prior to this commit it was possible that an exception or error during the write() call could prevent close() from running. Change-Id: Ib13fe651d41f0eafea23a1c96c6c64d405de7e49 --- keystoneclient/middleware/auth_token.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/keystoneclient/middleware/auth_token.py b/keystoneclient/middleware/auth_token.py index 5e1e1e619..1af26febc 100644 --- a/keystoneclient/middleware/auth_token.py +++ b/keystoneclient/middleware/auth_token.py @@ -1217,9 +1217,8 @@ class AuthProtocol(object): '/v2.0/certificates/signing') def write_cert_file(data): - certfile = open(self.signing_cert_file_name, 'w') - certfile.write(data) - certfile.close() + with open(self.signing_cert_file_name, 'w') as certfile: + certfile.write(data) try: #todo check response @@ -1238,9 +1237,8 @@ class AuthProtocol(object): '/v2.0/certificates/ca') try: #todo check response - certfile = open(self.ca_file_name, 'w') - certfile.write(data) - certfile.close() + with open(self.ca_file_name, 'w') as certfile: + certfile.write(data) except (AssertionError, KeyError): self.LOG.warn( "Unexpected response from keystone service: %s", data)