Browse Source

base-files: fix merge of passwd/shadow/group lines with trailing colons

Empty trailing fields get lost when the lines are split and merged again
at colons, resulting in unparsable entries. Only use the split fields for
matching against the other file, but emit the original line unchanged
to fix the issue.

Fixes: de7ca7dafadf ("base-files: merge /etc/passwd et al at sysupgrade config restore")
Signed-off-by: Matthias Schiffer <[email protected]>
Matthias Schiffer 1 năm trước cách đây
mục cha
commit
9bbaa6f2c0
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      package/base-files/files/lib/preinit/80_mount_root

+ 1 - 1
package/base-files/files/lib/preinit/80_mount_root

@@ -9,7 +9,7 @@ missing_lines() {
 	IFS=":"
 	while read line; do
 		set -- $line
-		grep -q "^$1:" "$file2" || echo "$*"
+		grep -q "^$1:" "$file2" || echo "$line"
 	done < "$file1"
 	IFS="$oIFS"
 }