diff options
author | mav <mav@FreeBSD.org> | 2014-07-20 07:35:00 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2014-07-20 07:35:00 +0000 |
commit | 394f34f4853ff22e377aef2aae34653b18e06d21 (patch) | |
tree | 7236af57287f83fdcf937d4465e2f2691f6962a8 /usr.sbin | |
parent | 265d7eda4859fd3e0ae2154853cbc62267802d8f (diff) | |
download | FreeBSD-src-394f34f4853ff22e377aef2aae34653b18e06d21.zip FreeBSD-src-394f34f4853ff22e377aef2aae34653b18e06d21.tar.gz |
MFC r268795:
Fix ctld crash on startup if target alias is not set.
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/ctld/kernel.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/usr.sbin/ctld/kernel.c b/usr.sbin/ctld/kernel.c index af8c5c5..ef3f206 100644 --- a/usr.sbin/ctld/kernel.c +++ b/usr.sbin/ctld/kernel.c @@ -851,9 +851,12 @@ kernel_port_add(struct target *targ) req.args[0].value = &port_id; req.args[0].flags = CTL_BEARG_WR; str_arg(&req.args[1], "cfiscsi_target", targ->t_name); - str_arg(&req.args[2], "cfiscsi_target_alias", targ->t_alias); snprintf(tagstr, sizeof(tagstr), "%d", targ->t_portal_group->pg_tag); - str_arg(&req.args[3], "cfiscsi_portal_group_tag", tagstr); + str_arg(&req.args[2], "cfiscsi_portal_group_tag", tagstr); + if (targ->t_alias) + str_arg(&req.args[3], "cfiscsi_target_alias", targ->t_alias); + else + req.num_args--; error = ioctl(ctl_fd, CTL_PORT_REQ, &req); free(req.args); |