Commit 4955a31c authored by Yann E. MORIN's avatar Yann E. MORIN Committed by Thomas Petazzoni
Browse files

support/mkusers: fix warnings when adding a new user



When adding a new user (or a new group), we would get warnings, like:
  [...]/support/scripts/mkusers: line 145: [: too many arguments

This is because we're checking if a UID (or a GID) is already defined,
and/or is different from the requested one, both checks in the same
test.

Of course, if a UID (or a GID) is not defined, it does not have a value,
so we can not compare it to an integer.

Fix that by splitting the test in two, so the second is only executed if
the first is sucessful.

Reported-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent c09b2bfa
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -137,12 +137,16 @@ check_user_validity() {
        fi

        # check the group does not already exists with another gid
        if [ -n "${_gid}" -a ${_gid} -ne ${gid} ]; then
        # Need to split the check in two, otherwise '[' complains it
        # is missing arguments when _gid is empty
        if [ -n "${_gid}" ] && [ ${_gid} -ne ${gid} ]; then
            fail "group already exists with gid '${_gid}'\n"
        fi

        # check the user does not already exists with another gid
        if [ -n "${_ugid}" -a ${_ugid} -ne ${gid} ]; then
        # Need to split the check in two, otherwise '[' complains it
        # is missing arguments when _ugid is empty
        if [ -n "${_ugid}" ] && [ ${_ugid} -ne ${gid} ]; then
            fail "user already exists with gid '${_ugid}'\n"
        fi
    fi
@@ -156,7 +160,9 @@ check_user_validity() {
        fi

        # check the user does not already exists with another uid
        if [ -n "${_uid}" -a ${_uid} -ne ${uid} ]; then
        # Need to split the check in two, otherwise '[' complains it
        # is missing arguments when _uid is empty
        if [ -n "${_uid}" ] && [ ${_uid} -ne ${uid} ]; then
            fail "user already exists with uid '${_uid}'\n"
        fi
    fi