8ac5e011d6
GitOrigin-RevId: 2c3273caa153ee8eb5786bc8141b85b859e7efd7
23 lines
792 B
Diff
23 lines
792 B
Diff
diff --git a/src/main/main.c b/src/main/main.c
|
|
index eec3c3e4..4169112b 100644
|
|
--- a/src/main/main.c
|
|
+++ b/src/main/main.c
|
|
@@ -337,10 +337,14 @@ main(int argc, char **argv)
|
|
char dirnamebuf[POOLMAXPATHLEN + 1];
|
|
char *dirp;
|
|
|
|
- strlcpy(dirnamebuf, conf_file, sizeof(dirnamebuf));
|
|
- dirp = dirname(dirnamebuf);
|
|
- snprintf(pool_passwd, sizeof(pool_passwd), "%s/%s",
|
|
- dirp, pool_config->pool_passwd);
|
|
+ if (pool_config->pool_passwd[0] != '/') {
|
|
+ strlcpy(dirnamebuf, conf_file, sizeof(dirnamebuf));
|
|
+ dirp = dirname(dirnamebuf);
|
|
+ snprintf(pool_passwd, sizeof(pool_passwd), "%s/%s",
|
|
+ dirp, pool_config->pool_passwd);
|
|
+ } else
|
|
+ strlcpy(pool_passwd, pool_config->pool_passwd,
|
|
+ sizeof(pool_passwd));
|
|
pool_init_pool_passwd(pool_passwd, POOL_PASSWD_R);
|
|
}
|
|
|