pgsql: Properly handle Win32 paths of 'E:abc', which can be either abso

Lists: pgsql-committers
From: Bruce Momjian <bruce(at)momjian(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Properly handle Win32 paths of 'E:abc', which can be either abso
Date: 2011-02-12 14:48:22
Message-ID: E1PoGlq-00068e-AT@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

Properly handle Win32 paths of 'E:abc', which can be either absolute or
relative, by creating a function path_is_relative_and_below_cwd() to
check for specific requirements. It is unclear if this fixes a security
problem or not but the new code is more robust.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/0de0cc150af46122238f2fe03605bf14e1a7c276

Modified Files
--------------
contrib/adminpack/adminpack.c | 40 ++++++++++++++++++--------------------
src/backend/utils/adt/genfile.c | 39 ++++++++++++++++++-------------------
src/include/port.h | 9 +------
src/port/path.c | 33 ++++++++++++++++++++++++++++++++
4 files changed, 73 insertions(+), 48 deletions(-)


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Properly handle Win32 paths of 'E:abc', which can be either abso
Date: 2011-02-12 17:03:22
Message-ID: 5079.1297530202@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

Bruce Momjian <bruce(at)momjian(dot)us> writes:
> Properly handle Win32 paths of 'E:abc', which can be either absolute or
> relative, by creating a function path_is_relative_and_below_cwd() to
> check for specific requirements. It is unclear if this fixes a security
> problem or not but the new code is more robust.

Surely this test is backwards?

+bool
+path_is_relative_and_below_cwd(const char *path)
+{
+ if (!is_absolute_path(path))
+ return false;

regards, tom lane


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Properly handle Win32 paths of 'E:abc', which can be either abso
Date: 2011-02-13 05:14:18
Message-ID: 201102130514.p1D5EIh10809@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > Properly handle Win32 paths of 'E:abc', which can be either absolute or
> > relative, by creating a function path_is_relative_and_below_cwd() to
> > check for specific requirements. It is unclear if this fixes a security
> > problem or not but the new code is more robust.
>
> Surely this test is backwards?
>
> +bool
> +path_is_relative_and_below_cwd(const char *path)
> +{
> + if (!is_absolute_path(path))
> + return false;

Yes, sorry, corrected.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +