support/mkusers: rename variable to avoid name clashing
authorYann E. MORIN <yann.morin.1998@free.fr>
Fri, 3 Mar 2017 22:07:20 +0000 (23:07 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 4 Mar 2017 10:56:51 +0000 (11:56 +0100)
The LINES variable is automatically set by bash to represent the number
of lines in the terminal. That variable can be set when the shell
receives SIGWINCH.

If the shell does receive SIGWINCH after our LINES array is filled, the
content of the array is mangled.

Rename the variable to avoid that.

Fixes #9456

Reported-by: George Y. <georgebrmz@oss3d.com>
Reported-by: Paul Stewart <paulstewartis@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
support/scripts/mkusers

index d8345787619e7def0d8c0ad0b5ba3a1644a050e9..2ac76f9863c2d3a2b7e40bf7ee3167f0d8ee2167 100755 (executable)
@@ -359,7 +359,7 @@ add_one_user() {
 main() {
     local username uid group gid passwd home shell groups comment
     local line
-    local -a LINES
+    local -a ENTRIES
 
     # Some sanity checks
     if [ ${MIN_UID} -le 0 ]; then
@@ -371,7 +371,7 @@ main() {
 
     # Read in all the file in memory, exclude empty lines and comments
     while read line; do
-        LINES+=( "${line}" )
+        ENTRIES+=( "${line}" )
     done < <( sed -r -e 's/#.*//; /^[[:space:]]*$/d;' "${USERS_TABLE}" )
 
     # We first create groups whose gid is not -1, and then we create groups
@@ -380,14 +380,14 @@ main() {
     # used, rather than a different automatic gid is computed.
 
     # First, create all the main groups which gid is *not* automatic
-    for line in "${LINES[@]}"; do
+    for line in "${ENTRIES[@]}"; do
         read username uid group gid passwd home shell groups comment <<<"${line}"
         [ ${gid} -ge 0 ] || continue    # Automatic gid
         add_one_group "${group}" "${gid}"
     done
 
     # Then, create all the main groups which gid *is* automatic
-    for line in "${LINES[@]}"; do
+    for line in "${ENTRIES[@]}"; do
         read username uid group gid passwd home shell groups comment <<<"${line}"
         [ ${gid} -eq -1 ] || continue    # Non-automatic gid
         add_one_group "${group}" "${gid}"
@@ -396,7 +396,7 @@ main() {
     # Then, create all the additional groups
     # If any additional group is already a main group, we should use
     # the gid of that main group; otherwise, we can use any gid
-    for line in "${LINES[@]}"; do
+    for line in "${ENTRIES[@]}"; do
         read username uid group gid passwd home shell groups comment <<<"${line}"
         if [ "${groups}" != "-" ]; then
             for g in ${groups//,/ }; do
@@ -411,7 +411,7 @@ main() {
     # uid be generated.
 
     # Now, add users whose uid is *not* automatic
-    for line in "${LINES[@]}"; do
+    for line in "${ENTRIES[@]}"; do
         read username uid group gid passwd home shell groups comment <<<"${line}"
         [ "${username}" != "-" ] || continue # Magic string to skip user creation
         [ ${uid} -ge 0         ] || continue # Automatic uid
@@ -420,7 +420,7 @@ main() {
     done
 
     # Finally, add users whose uid *is* automatic
-    for line in "${LINES[@]}"; do
+    for line in "${ENTRIES[@]}"; do
         read username uid group gid passwd home shell groups comment <<<"${line}"
         [ "${username}" != "-" ] || continue # Magic string to skip user creation
         [ ${uid} -eq -1        ] || continue # Non-automatic uid