summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meskes2014-01-01 11:24:19 +0000
committerMichael Meskes2014-01-01 11:40:42 +0000
commit119a59879679289174460a777abc36c4f7944b37 (patch)
tree656654890a3c7bf89008aa56549734e39202e6c4
parentdf090b3908c8d1cd25bbb35068e7da3a2b4c5750 (diff)
Do not use an empty hostname.
When trying to connect to a given database libecpg should not try using an empty hostname if no hostname was given.
-rw-r--r--src/interfaces/ecpg/ecpglib/connect.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/interfaces/ecpg/ecpglib/connect.c b/src/interfaces/ecpg/ecpglib/connect.c
index 49f2d546bbe..55c56807b2f 100644
--- a/src/interfaces/ecpg/ecpglib/connect.c
+++ b/src/interfaces/ecpg/ecpglib/connect.c
@@ -325,7 +325,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;
@@ -344,7 +344,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://");
@@ -427,8 +427,11 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
}
else
{
- host = ecpg_strdup(dbname + offset, lineno);
- connect_params++;
+ if (*(dbname + offset) != '\0')
+ {
+ host = ecpg_strdup(dbname + offset, lineno);
+ connect_params++;
+ }
}
}