Bug#931719: 40-systemd: line 11: 1: unbound variable when sourcing /lib/lsb/init-functions with $1 unset

Michael Biebl biebl at debian.org
Thu Jul 18 12:55:55 BST 2019


Am 11.07.19 um 17:41 schrieb Mert Dirik:
> On 7/11/19, Thomas Bätzler <thomas at baetzler.de> wrote:
>>
>> To wit:
>>
>>   root at kvm1:~# /etc/init.d/rsync
>>   Usage: /etc/init.d/rsync {start|stop|reload|force-reload|restart|status}
>>
>> vs.
>>
>>   root at kvm1:~# /etc/init.d/mysql
>>   /lib/lsb/init-functions.d/40-systemd: line 11: 1: unbound variable
>>
>>
> 
> Thanks, I've been able to confirm that.
> 
>> In this case, line 16 has to be changed to 'argument="${1:-}', too (last
>> line of your patch), since the call without argument falls through to
>> the else branch, i.e.
> 
> Indeed. "argument=$1" line had need to be changed, not the
> "argument=$2" one. Can you try this patch:
> 
>          executable="$__init_d_script_name"
>          argument="$1"

Is $1 guaranteed to be set/not an issue with __init_d_script_name?

>      elif [ "${0##*/}" = "init-d-script" ] ||
> -         [ "${0##*/}" = "${1##*/}" ]; then # scripts run with old
> init-d-script
> +         [ "${0}" = "${1:-}" ]; then # scripts run with old  init-d-script

Why  do we need ${1:-1} here...

>          executable="$1"
>          argument="$2"

..but no checks here?

>      else # plain old scripts
>          executable="$0"
> -        argument="$1"
> +        argument="${1:-}"

This part makes sense to me

>      fi

fwiw, trying to use -u with old style init-d-script and new style
__init_d_script_name yields a lot of unset errors in /lib/init/vars.sh
and /lib/init/init-d-script.
I guess this needs someone interested to address this.

For now, I'll probably just apply this hunk:


>      else # plain old scripts
>          executable="$0"
> -        argument="$1"
> +        argument="${1:-}"


Regards,
Michael

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20190718/0bccd8c1/attachment.sig>


More information about the Pkg-systemd-maintainers mailing list