rc.d/jail: avoid misinterpreting expr arguments
(Due to some misconfiguration) I ended up with _mask set to "-v<something>", and /etc/rc.d/jail then failed with "expr: illegal option -- v". Use "expr --" so that variable content is never interpreted as an option. Reviewed by: jamie Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D14535
This commit is contained in:
parent
14e084ada5
commit
da95763b3b
@ -316,7 +316,7 @@ jail_extract_address()
|
||||
|
||||
# Extract the prefix/netmask/prefixlen part by cutting off the address.
|
||||
_mask=${_r}
|
||||
_mask=`expr "${_mask}" : "${_addr}\(.*\)"`
|
||||
_mask=`expr -- "${_mask}" : "${_addr}\(.*\)"`
|
||||
|
||||
# Identify type {inet,inet6}.
|
||||
case "${_addr}" in
|
||||
@ -366,8 +366,8 @@ jail_handle_ips_option()
|
||||
while [ ${#_x} -gt 0 ]; do
|
||||
case "${_x}" in
|
||||
*,*) # Extract the first argument and strip it off the list.
|
||||
_i=`expr "${_x}" : '^\([^,]*\)'`
|
||||
_x=`expr "${_x}" : "^[^,]*,\(.*\)"`
|
||||
_i=`expr -- "${_x}" : '^\([^,]*\)'`
|
||||
_x=`expr -- "${_x}" : "^[^,]*,\(.*\)"`
|
||||
;;
|
||||
*) _i=${_x}
|
||||
_x=""
|
||||
|
Loading…
Reference in New Issue
Block a user