Просмотр исходного кода

base-files: fix offset conversion on caldata_patch_data()

`$(( ))` will convert uninitialized variable to "0". If we want to
use "-n" to check the string length, it's necessary to make sure the
converted variable is not empty.

Fixes: 652a6677d5fa ("base-files: Add new functions for ath11k caldata")
Fixes: https://github.com/openwrt/openwrt/issues/17818
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/17892
Signed-off-by: Hauke Mehrtens <[email protected]>
(cherry picked from commit 094b6f593fb4943005e13e2f8581e66bb7c2c8cf)
Shiji Yang 10 месяцев назад
Родитель
Сommit
bccab05ac7
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      package/base-files/files/lib/functions/caldata.sh

+ 2 - 2
package/base-files/files/lib/functions/caldata.sh

@@ -125,8 +125,8 @@ caldata_valid() {
 caldata_patch_data() {
 	local data=$1
 	local data_count=$((${#1} / 2))
-	local data_offset=$(($2))
-	local chksum_offset=$(($3))
+	[ -n "$2" ] && local data_offset=$(($2))
+	[ -n "$3" ] && local chksum_offset=$(($3))
 	local target=$4
 	local fw_data
 	local fw_chksum