1diff --git a/src/main/main.c b/src/main/main.c
2index eec3c3e4..4169112b 100644
3--- a/src/main/main.c
4+++ b/src/main/main.c
5@@ -337,10 +337,14 @@ main(int argc, char **argv)
6 char dirnamebuf[POOLMAXPATHLEN + 1];
7 char *dirp;
8
9- strlcpy(dirnamebuf, conf_file, sizeof(dirnamebuf));
10- dirp = dirname(dirnamebuf);
11- snprintf(pool_passwd, sizeof(pool_passwd), "%s/%s",
12- dirp, pool_config->pool_passwd);
13+ if (pool_config->pool_passwd[0] != '/') {
14+ strlcpy(dirnamebuf, conf_file, sizeof(dirnamebuf));
15+ dirp = dirname(dirnamebuf);
16+ snprintf(pool_passwd, sizeof(pool_passwd), "%s/%s",
17+ dirp, pool_config->pool_passwd);
18+ } else
19+ strlcpy(pool_passwd, pool_config->pool_passwd,
20+ sizeof(pool_passwd));
21 pool_init_pool_passwd(pool_passwd, POOL_PASSWD_R);
22 }
23