summaryrefslogtreecommitdiff
path: root/app-portage/iwdevtools/files/iwdevtools-0.10.1-diff-off-by-one.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-portage/iwdevtools/files/iwdevtools-0.10.1-diff-off-by-one.patch')
-rw-r--r--app-portage/iwdevtools/files/iwdevtools-0.10.1-diff-off-by-one.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/app-portage/iwdevtools/files/iwdevtools-0.10.1-diff-off-by-one.patch b/app-portage/iwdevtools/files/iwdevtools-0.10.1-diff-off-by-one.patch
new file mode 100644
index 000000000000..87564b0b1445
--- /dev/null
+++ b/app-portage/iwdevtools/files/iwdevtools-0.10.1-diff-off-by-one.patch
@@ -0,0 +1,20 @@
+https://github.com/ionenwks/iwdevtools/commit/74d7b913a9bea5cfbf59e451d8db4a4c6140cba8
+From: Ionen Wolkens <ionen@gentoo.org>
+Date: Wed, 16 Mar 2022 09:51:00 -0400
+Subject: [PATCH] qa-vdb: fix off-by-one in diff output
+
+This wrongly assumed f1 array was always at least as big as f2
+
+--- a/scripts/qa-vdb
++++ b/scripts/qa-vdb
+@@ -203,8 +203,8 @@ vdb-get_libdiff() {
+ # create combined output
+ local -i len=0
+ local o mark changes=false
+- for ((i=0; i < ${#f1[@]}; i++)); do
+- : "${f2[i]:=}"
++ for ((i=0; i < (${#f1[@]}>${#f2[@]}?${#f1[@]}:${#f2[@]}); i++)); do
++ : "${f1[i]:=}${f2[i]:=}"
+ if [[ ${f1[i]} == "${f2[i]}" ]]; then
+ ${O[full]} || continue
+ mark=' '