From bccab05ac71e9d4ebec321dba997336e7ddff249 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Sat, 8 Feb 2025 15:36:24 +0800 Subject: [PATCH] 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 Link: https://github.com/openwrt/openwrt/pull/17892 Signed-off-by: Hauke Mehrtens (cherry picked from commit 094b6f593fb4943005e13e2f8581e66bb7c2c8cf) --- package/base-files/files/lib/functions/caldata.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/base-files/files/lib/functions/caldata.sh b/package/base-files/files/lib/functions/caldata.sh index 09289728c0f..f0fc907aeff 100644 --- a/package/base-files/files/lib/functions/caldata.sh +++ b/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