On 19/12/2010 8:05 PM, Magnus Hagander wrote:

Actually, looking through it again just before commit, I can't help
but think the whole code about loading the DLL from different places
is unnecessary. The windows DLL search order *always* has the
directory of the EXE first, followed by either system dirs or CWD
depending on version.

Any reason not to just call LoadLibrary once?

Good point. The program directory was added to the DLL search path with Windows XP. On any Windows version that Pg targets you can trust Windows to load a DLL from the app dir before system32. We don't really care about win2k/nt4 or 9x, where this is necessary.

It's not a security concern for the reasons already outlined in the comments in the patch - in brief, because Pg keeps the cwd inside the datadir, and if someone can write malicious files in there you have big problems already. If it was a security concern our fallback would be an attempt to load %WINDIR%\system32\dbghelp.dll by full path, rather than using an unqualified name to search the path.

So: I agree. We should just let Windows find dbghelp.dll on the normal search path; building an explicit path isn't necessary.

--
Craig Ringer

Tech-related writing at http://soapyfrogs.blogspot.com/

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to