summaryrefslogtreecommitdiff
path: root/usr/src/cmd/dladm/dladm.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/dladm/dladm.c')
-rw-r--r--usr/src/cmd/dladm/dladm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/usr/src/cmd/dladm/dladm.c b/usr/src/cmd/dladm/dladm.c
index c4fe45cf40..1edd13b0cb 100644
--- a/usr/src/cmd/dladm/dladm.c
+++ b/usr/src/cmd/dladm/dladm.c
@@ -4097,6 +4097,8 @@ iptun_process_addrarg(char *addrarg, iptun_params_t *params)
while (*addrarg != '\0') {
switch (getsubopt(&addrarg, iptun_addropts, &addrval)) {
case IPTUN_LOCAL:
+ if (addrval == NULL)
+ die("tunnel source address value is missing");
params->iptun_param_flags |= IPTUN_PARAM_LADDR;
if (strlcpy(params->iptun_param_laddr, addrval,
sizeof (params->iptun_param_laddr)) >=
@@ -4104,6 +4106,9 @@ iptun_process_addrarg(char *addrarg, iptun_params_t *params)
die("tunnel source address is too long");
break;
case IPTUN_REMOTE:
+ if (addrval == NULL)
+ die("tunnel destination address value "
+ "is missing");
params->iptun_param_flags |= IPTUN_PARAM_RADDR;
if (strlcpy(params->iptun_param_raddr, addrval,
sizeof (params->iptun_param_raddr)) >=