Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Do not use an empty hostname.
authorMichael Meskes <meskes@postgresql.org>
Wed, 1 Jan 2014 11:24:19 +0000 (12:24 +0100)
committerMichael Meskes <meskes@postgresql.org>
Wed, 1 Jan 2014 11:44:44 +0000 (12:44 +0100)
When trying to connect to a given database libecpg should not try using an
empty hostname if no hostname was given.

src/interfaces/ecpg/ecpglib/connect.c

index c05dc9014edfa1d620c79f953d5947ffa591731b..b28ae8239be18809d2d4cd4efcde7e7903fe70bc 100644 (file)
@@ -326,7 +326,7 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
 
    if (dbname != NULL)
    {
-       /* get the detail information out of dbname */
+       /* get the detail information from dbname */
        if (strncmp(dbname, "tcp:", 4) == 0 || strncmp(dbname, "unix:", 5) == 0)
        {
            int         offset = 0;
@@ -345,7 +345,7 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
                /*------
                 * new style:
                 *  <tcp|unix>:postgresql://server[:port|:/unixsocket/path:]
-                *  [/db name][?options]
+                *  [/db-name][?options]
                 *------
                 */
                offset += strlen("postgresql://");
@@ -420,8 +420,10 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
                    }
                }
                else
-                   host = ecpg_strdup(dbname + offset, lineno);
-
+               {
+                   if (*(dbname + offset) != '\0')
+                       host = ecpg_strdup(dbname + offset, lineno);
+               }
            }
        }
        else