discomfitor pushed a commit to branch master. http://git.enlightenment.org/libs/esskyuehl.git/commit/?id=a4140500795a2c2b5a23dd5053924853e06b3658
commit a4140500795a2c2b5a23dd5053924853e06b3658 Author: zmike <michael.blumenkra...@gmail.com> Date: Wed May 21 08:40:52 2014 -0400 fix psql crash on null address during connect --- src/modules/postgresql/esql_postgresql_backend.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/postgresql/esql_postgresql_backend.c b/src/modules/postgresql/esql_postgresql_backend.c index 6c4b1f0..0d17dab 100644 --- a/src/modules/postgresql/esql_postgresql_backend.c +++ b/src/modules/postgresql/esql_postgresql_backend.c @@ -187,6 +187,7 @@ esql_postgresql_setup(Esql *e, const char *addr, const char *user, const char *p const char *db; if (e->backend.conn_str && (!addr) && (!user) && (!passwd)) return; /* reconnect attempt */ + if ((!addr) || (!user)) return; db = e->database ? e->database : user; port = strchr(addr, ':'); @@ -194,8 +195,8 @@ esql_postgresql_setup(Esql *e, const char *addr, const char *user, const char *p e->backend.conn_str_len = snprintf(buf, sizeof(buf), "host=%s port=%s dbname=%s user=%s password=%s connect_timeout=5", strndupa(addr, port - addr), port + 1, db, user, passwd); else - e->backend.conn_str_len = snprintf(buf, sizeof(buf), "host=%s dbname=%s user=%s password=%s connect_timeout=5", - addr, db, user, passwd); + e->backend.conn_str_len = snprintf(buf, sizeof(buf), "host=%s dbname=%s user=%s %s%s connect_timeout=5", + addr, db, user, passwd ? "password=" : "", passwd ?: ""); e->backend.conn_str = strdup(buf); } --