# What's expected
Since in `acme.sh` path strings are concatenated with a hardcoded slash in between, the left operand must never end with a trailing slash for the resulting path to be valid. Otherwise, obviously, the resulting path will have two adjacent slashes in the middle and will not be valid.
# What actually happens
Even though I cannot tell for each of the input params, I know this for sure for the the `--home` argument's value.
If I run `acme.sh` with `--home` argument's value being a path ending in a trailing slash,
```sh
acme.sh ... --debug ... --home /some/path/ ... -d somedomainna.me ...
```
I get the following (distinct) occurrencies of resulting invalid paths containing two adjacent slashes:
```
[...] Using config home:/some/path/
[...] DOMAIN_PATH='/some/path//somedomainna.me'
[...] _CURL='curl --silent --dump-header /some/path//http.header -L -g '
[...] The domain key is here: /some/path//somedomainna.me/somedomainna.me.key
[...] _CURL='curl --silent --dump-header /some/path//http.header -L -g -I '
[...] Your cert is in: /some/path//somedomainna.me/somedomainna.me.cer
[...] Your cert key is in: /some/path//somedomainna.me/somedomainna.me.key
[...] The intermediate CA cert is in: /some/path//somedomainna.me/ca.cer
[...] And the full chain certs is there: /some/path//somedomainna.me/fullchain.cer
```
# Suggested fix
Trim trailing slash in `--home` argument's value from the get-go.
There might be '|' in __val (e.g., SYNO_Password), which will cause that
all content of the conf file is cleared. Fix it by escaping '|'
manually.
Signed-off-by: Adam Tao <tcx4c70@gmail.com>