Simplify validate_exec() by using access(2) to check file permissions,

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 0fba3bef558036952f59846a7e7b48e1f5b9e479
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2010-01-14T00:14:06Z
Releases: 9.0.0
Simplify validate_exec() by using access(2) to check file permissions,
rather than trying to implement the equivalent logic by hand.  The motivation
for the original coding appears to have been to check with the effective uid's
permissions not the real uid's; but there is no longer any difference, because
we don't run the postmaster setuid (indeed, main.c enforces that they're the
same).  Using access() means we will get it right in situations the original
coding failed to handle, such as ACL-based permissions.  Besides it's a lot
shorter, cleaner, and more thread-safe.  Per bug #5275 from James Bellinger.

Files

PathChange+/−
src/port/exec.c modified +8 −78