]> granicus.if.org Git - postgresql/commitdiff
Fix unsafe loop test, and declare as_ident as bool rather than int.
authorRobert Haas <rhaas@postgresql.org>
Thu, 21 Jan 2010 18:43:25 +0000 (18:43 +0000)
committerRobert Haas <rhaas@postgresql.org>
Thu, 21 Jan 2010 18:43:25 +0000 (18:43 +0000)
src/interfaces/libpq/fe-exec.c

index bbcf11a687a1304cc9d0599ee7de09328d57908d..2e5551d31e5b11f3a5a71d19ab39861774a95a03 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.207 2010/01/21 14:58:53 rhaas Exp $
+ *       $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.208 2010/01/21 18:43:25 rhaas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -3066,7 +3066,7 @@ PQescapeString(char *to, const char *from, size_t length)
  * of memory condition, we return NULL, storing an error message into conn.
  */
 static char *
-PQescapeInternal(PGconn *conn, const char *str, size_t len, int as_ident)
+PQescapeInternal(PGconn *conn, const char *str, size_t len, bool as_ident)
 {
        const char *s;
        char   *result;
@@ -3082,7 +3082,7 @@ PQescapeInternal(PGconn *conn, const char *str, size_t len, int as_ident)
                return NULL;
 
        /* Scan the string for characters that must be escaped. */
-       for (s = str; *s != '\0' && (s - str) < len; ++s)
+       for (s = str; (s - str) < len && *s != '\0'; ++s)
        {
                if (*s == quote_char)
                        ++num_quotes;
@@ -3188,13 +3188,13 @@ PQescapeInternal(PGconn *conn, const char *str, size_t len, int as_ident)
 char *
 PQescapeLiteral(PGconn *conn, const char *str, size_t len)
 {
-       return PQescapeInternal(conn, str, len, 0);
+       return PQescapeInternal(conn, str, len, false);
 }
 
 char *
 PQescapeIdentifier(PGconn *conn, const char *str, size_t len)
 {
-       return PQescapeInternal(conn, str, len, 1);
+       return PQescapeInternal(conn, str, len, true);
 }
 
 /* HEX encoding support for bytea */