GetTokenInformation() and FreeSid() at port/exec.c
| От | TAKATSUKA Haruka | 
|---|---|
| Тема | GetTokenInformation() and FreeSid() at port/exec.c | 
| Дата | |
| Msg-id | 20090623103639.1eca170c.harukat@sraoss.co.jp обсуждение исходный текст  | 
		
| Ответы | 
                	
            		Re: GetTokenInformation() and FreeSid() at port/exec.c
            		
            		 | 
		
| Список | 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
		
	В списке pgsql-bugs по дате отправления: