From: Maxin B. John Date: Tue, 16 Aug 2016 11:12:03 +0000 (+0300) Subject: useradd_base: avoid unintended expansion for useradd parameters X-Git-Tag: uninative-1.4~471 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=9e43a73c7ad576666d53c8c9e0283bc6bb9087a8;p=openembedded-core.git useradd_base: avoid unintended expansion for useradd parameters Now, useradd dollar sign requires three prepending backslash characters to avoid unintended expansion. It used to be just one prepending backslash character before Krogoth. Restore that behaviour. [YOCTO #10062] Signed-off-by: Niko Mauno Signed-off-by: Maxin B. John Signed-off-by: Ross Burton --- diff --git a/meta/classes/useradd_base.bbclass b/meta/classes/useradd_base.bbclass index 0d81accd1a..f4dc7134cb 100644 --- a/meta/classes/useradd_base.bbclass +++ b/meta/classes/useradd_base.bbclass @@ -17,7 +17,6 @@ perform_groupadd () { local groupname=`echo "$opts" | awk '{ print $NF }'` local group_exists="`grep "^$groupname:" $rootdir/etc/group || true`" if test "x$group_exists" = "x"; then - opts=`echo $opts | sed s/\'/\"/g` eval flock -x $rootdir${sysconfdir} -c \"$PSEUDO groupadd \$opts\" || true group_exists="`grep "^$groupname:" $rootdir/etc/group || true`" if test "x$group_exists" = "x"; then @@ -35,7 +34,6 @@ perform_useradd () { local username=`echo "$opts" | awk '{ print $NF }'` local user_exists="`grep "^$username:" $rootdir/etc/passwd || true`" if test "x$user_exists" = "x"; then - opts=`echo $opts | sed s/\'/\"/g` eval flock -x $rootdir${sysconfdir} -c \"$PSEUDO useradd \$opts\" || true user_exists="`grep "^$username:" $rootdir/etc/passwd || true`" if test "x$user_exists" = "x"; then