From c70386ec16c373dc3c2b2778f12f1772985bd304 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sat, 6 Sep 2014 22:17:24 +0300 Subject: [PATCH] Issue #22131: Fixed a bug in handling an error occured during reading from a pipe in _ipconfig_getnode(). --- Lib/uuid.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Lib/uuid.py b/Lib/uuid.py index a4e553247d9..90f36ab1bc2 100644 --- a/Lib/uuid.py +++ b/Lib/uuid.py @@ -383,13 +383,11 @@ def _ipconfig_getnode(): pipe = os.popen(os.path.join(dir, 'ipconfig') + ' /all') except OSError: continue - else: + with pipe: for line in pipe: value = line.split(':')[-1].strip().lower() if re.match('([0-9a-f][0-9a-f]-){5}[0-9a-f][0-9a-f]', value): return int(value.replace('-', ''), 16) - finally: - pipe.close() def _netbios_getnode(): """Get the hardware address on Windows using NetBIOS calls.