changeset: 103905:9b0d661a16de branch: 2.7 parent: 103874:a2bfec367cef user: Steve Dower date: Sat Sep 17 16:43:01 2016 -0700 files: Lib/platform.py Misc/NEWS description: Issue #27932: Prevent memory leak in win32_ver(). diff -r a2bfec367cef -r 9b0d661a16de Lib/platform.py --- a/Lib/platform.py Sat Sep 17 07:54:55 2016 +0000 +++ b/Lib/platform.py Sat Sep 17 16:43:01 2016 -0700 @@ -567,7 +567,7 @@ return maj, min, build from ctypes import (c_buffer, POINTER, byref, create_unicode_buffer, - Structure, WinDLL) + Structure, WinDLL, _Pointer) from ctypes.wintypes import DWORD, HANDLE class VS_FIXEDFILEINFO(Structure): @@ -586,6 +586,8 @@ ("dwFileDateMS", DWORD), ("dwFileDateLS", DWORD), ] + class PVS_FIXEDFILEINFO(_Pointer): + _type_ = VS_FIXEDFILEINFO kernel32 = WinDLL('kernel32') version = WinDLL('version') @@ -611,7 +613,7 @@ not ver_block): return maj, min, build - pvi = POINTER(VS_FIXEDFILEINFO)() + pvi = PVS_FIXEDFILEINFO() if not version.VerQueryValueW(ver_block, "", byref(pvi), byref(DWORD())): return maj, min, build diff -r a2bfec367cef -r 9b0d661a16de Misc/NEWS --- a/Misc/NEWS Sat Sep 17 07:54:55 2016 +0000 +++ b/Misc/NEWS Sat Sep 17 16:43:01 2016 -0700 @@ -214,6 +214,8 @@ Windows ------- +- Issue #27932: Prevent memory leak in win32_ver(). + - Issue #27888: Prevent Windows installer from displaying console windows and failing when pip cannot be installed/uninstalled.