GetTokenInformation() and FreeSid() at port/exec.c
TAKATSUKA Haruka <harukat@sraoss.co.jp>
From: TAKATSUKA Haruka <harukat@sraoss.co.jp>
To: pgsql-bugs@postgresql.org
Date: 2009-06-23T01:36:39Z
Lists: pgsql-bugs
Hi. We found the unbalance of xxAlloc and xxFree at AddUserToDacl() in src/port/exec.c (of current HEAD code). psidUser is a pointer of the element of a TOKEN_USER structure allocated by HeapAlloc(). The FreeSid() frees a SID allocated by AllocateAndInitializeSid(). I think that it is correct to use HeapFree(GetProcessHeap(), 0, pTokenUser). At present, a specific error, crash or trouble seems not to have happened. src/port/exec.c:748 AddUserToDacl() src/port/exec.c:841 GetUserSid() pTokenUser = (PTOKEN_USER) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwLength); src/port/exec.c:807 AddUserToDacl() FreeSid(psidUser); ______________________________________________________________________ TAKATSUKA Haruka harukat@sraoss.co.jp SRA OSS, Inc http://www.sraoss.co.jp