Fix reverse 'if' test in path_is_relative_and_below_cwd(), per Tom.

This commit is contained in:
Bruce Momjian 2011-02-13 00:14:08 -05:00
parent 6c2e734f0a
commit 8e7af60872
3 changed files with 21 additions and 30 deletions

View File

@ -3385,15 +3385,17 @@ size_t PQescapeStringConn(PGconn *conn,
<listitem>
<para>
<function>PQescapeString</> is an older, deprecated version of
<function>PQescapeStringConn</>.
<synopsis>
size_t PQescapeString (char *to, const char *from, size_t length);
</synopsis>
</para>
<para>
<function>PQescapeString</> is an older, deprecated version of
<function>PQescapeStringConn</>; the difference is that it does
not take <parameter>conn</> or <parameter>error</> parameters.
The only difference from <function>PQescapeStringConn</> is that
<function>PQescapeString</> does not take <structname>PGconn</>
or <parameter>error</> parameters.
Because of this, it cannot adjust its behavior depending on the
connection properties (such as character encoding) and therefore
<emphasis>it might give the wrong results</>. Also, it has no way
@ -3401,7 +3403,7 @@ size_t PQescapeString (char *to, const char *from, size_t length);
</para>
<para>
<function>PQescapeString</> can be used safely in single-threaded
<function>PQescapeString</> can be used safely in
client programs that work with only one <productname>PostgreSQL</>
connection at a time (in this case it can find out what it needs to
know <quote>behind the scenes</>). In other contexts it is a security
@ -3433,16 +3435,11 @@ unsigned char *PQescapeByteaConn(PGconn *conn,
</para>
<para>
Certain byte values <emphasis>must</emphasis> be escaped (but all
byte values <emphasis>can</emphasis> be escaped) when used as part
of a <type>bytea</type> literal in an <acronym>SQL</acronym>
statement. In general, to escape a byte, it is converted into the
three digit octal number equal to the octet value, and preceded by
usually two backslashes. The single quote (<literal>'</>) and backslash
(<literal>\</>) characters have special alternative escape
sequences. See <xref linkend="datatype-binary"> for more
information. <function>PQescapeByteaConn</function> performs this
operation, escaping only the minimally required bytes.
Certain byte values must be escaped when used as part of a
<type>bytea</type> literal in an <acronym>SQL</acronym> statement.
<function>PQescapeByteaConn</function> escapes bytes using
either hex encoding or backslash escaping. See <xref
linkend="datatype-binary"> for more information.
</para>
<para>
@ -3499,20 +3496,13 @@ unsigned char *PQescapeBytea(const unsigned char *from,
<para>
The only difference from <function>PQescapeByteaConn</> is that
<function>PQescapeBytea</> does not take a <structname>PGconn</>
parameter. Because of this, it cannot adjust its behavior
depending on the connection properties (in particular, whether
standard-conforming strings are enabled) and therefore
<emphasis>it might give the wrong results</>. Also, it has no
way to return an error message on failure.
</para>
<para>
<function>PQescapeBytea</> can be used safely in single-threaded
client programs that work with only one <productname>PostgreSQL</>
connection at a time (in this case it can find out what it needs
to know <quote>behind the scenes</>). In other contexts it is
a security hazard and should be avoided in favor of
<function>PQescapeByteaConn</>.
parameter. Because of this, <function>PQescapeBytea</> can
only be used safely in client programs that use a single
<productname>PostgreSQL</> connection at a time (in this case
it can find out what it needs to know <quote>behind the
scenes</>). It <emphasis>might give the wrong results</> if
used in programs that use multiple database connections (use
<function>PQescapeByteaConn</> in such cases).
</para>
</listitem>
</varlistentry>

View File

@ -2342,7 +2342,8 @@
whether hex or traditional format is used for <type>bytea</>
output. Libpq's <function>PQescapeByteaConn()</> function automatically
uses the hex format when connected to <productname>PostgreSQL</> 9.0
or newer servers.
or newer servers. However, pre-9.0 libpq versions will not
correctly process hex format from newer servers.
</para>
<para>

View File

@ -368,7 +368,7 @@ path_contains_parent_reference(const char *path)
bool
path_is_relative_and_below_cwd(const char *path)
{
if (!is_absolute_path(path))
if (is_absolute_path(path))
return false;
/* don't allow anything above the cwd */
else if (path_contains_parent_reference(path))