at 22.05-pre 23 lines 792 B view raw
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