Mercurial > dropbear
diff cli-runopts.c @ 1936:4528afefe45d
Fix IPv6 address parsing for dbclient -b
Now can correctly handle '-b [ipv6address]:port'
Code is shared with dropbear -p, though they handle colon-less arguments
differently
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Fri, 01 Apr 2022 14:13:52 +0800 |
parents | a7ad060707b6 |
children |
line wrap: on
line diff
--- a/cli-runopts.c Fri Apr 01 12:17:02 2022 +0800 +++ b/cli-runopts.c Fri Apr 01 14:13:52 2022 +0800 @@ -419,7 +419,7 @@ /* And now a few sanity checks and setup */ -#if DROPBEAR_CLI_PROXYCMD +#if DROPBEAR_CLI_PROXYCMD if (cli_opts.proxycmd) { /* To match the common path of m_freeing it */ cli_opts.proxycmd = m_strdup(cli_opts.proxycmd); @@ -431,14 +431,10 @@ } if (bind_arg) { - /* split [host][:port] */ - char *port = strrchr(bind_arg, ':'); - if (port) { - cli_opts.bind_port = m_strdup(port+1); - *port = '\0'; - } - if (strlen(bind_arg) > 0) { - cli_opts.bind_address = m_strdup(bind_arg); + if (split_address_port(bind_arg, + &cli_opts.bind_address, &cli_opts.bind_port) + == DROPBEAR_FAILURE) { + dropbear_exit("Bad -b argument"); } }