From c356de773a6c31ace6cf2896ca96cca18e143382 Mon Sep 17 00:00:00 2001 From: SahilSonar Date: Mon, 5 Jan 2026 15:53:12 +0530 Subject: [PATCH 1/5] flash: set -xeuo pipefail --- flash/factory.common | 1 + 1 file changed, 1 insertion(+) diff --git a/flash/factory.common b/flash/factory.common index 9587ab2..65f4c47 100755 --- a/flash/factory.common +++ b/flash/factory.common @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -e +set -xeuo pipefail # Paths/files ROOT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" -- GitLab From 83c940edb1f098d13a1c2c8f5279e28391fa3f38 Mon Sep 17 00:00:00 2001 From: SahilSonar Date: Mon, 5 Jan 2026 15:55:09 +0530 Subject: [PATCH 2/5] flash: Refactor find_device() func - If PRODUCT_ID_OLD was unbound, it would match ANY device & allows flashing wrong fw. --- flash/factory.common | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/flash/factory.common b/flash/factory.common index 65f4c47..d1e0d63 100755 --- a/flash/factory.common +++ b/flash/factory.common @@ -71,6 +71,9 @@ fi # Check for connected phone find_device() { echo "INFO: Looking for connected device(s)..." + PRODUCT="${PRODUCT:-unknown}" + PRODUCT_ID="${PRODUCT_ID:-unknown}" + PRODUCT_ID_OLD="${PRODUCT_ID_OLD:-unknown}" DEVICE_FOUND="false" while [ ${DEVICE_FOUND} = "false" ] do @@ -81,8 +84,18 @@ find_device() { # Checking the product ID PRODUCT_STRING=$("${FASTBOOT_BIN}" -s "${sn}" getvar product 2>&1) # Add serial, if product matches - if [[ ${PRODUCT_STRING} == *"${PRODUCT_ID}"* ]] || [[ ${PRODUCT_STRING} == *"${PRODUCT_ID_OLD}"* ]] - then + matched=false + if [[ "${PRODUCT_ID}" != "unknown" ]]; then + if [[ ${PRODUCT_STRING} == *"${PRODUCT_ID}"* ]]; then + matched=true + fi + fi + if [[ "${PRODUCT_ID_OLD}" != "unknown" ]]; then + if [[ ${PRODUCT_STRING} == *"${PRODUCT_ID_OLD}"* ]]; then + matched=true + fi + fi + if [[ "${matched}" == "true" ]]; then serial_numbers="${serial_numbers} $sn" fi done -- GitLab From 86b89b0000929639928acb58cdae187a74ab72d1 Mon Sep 17 00:00:00 2001 From: SahilSonar Date: Mon, 5 Jan 2026 16:00:42 +0530 Subject: [PATCH 3/5] flash: Set defaults to all unbound vars --- flash/factory.common | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/flash/factory.common b/flash/factory.common index d1e0d63..8d9a140 100755 --- a/flash/factory.common +++ b/flash/factory.common @@ -175,6 +175,16 @@ fi # Common flash function to be called from device flash script flash_factory() { # Begin with some OS checks and variable definition + USE_FASTBOOTD="${USE_FASTBOOTD:-false}" + FW_BL_RESTART="${FW_BL_RESTART:-false}" + CLEAN_FLASH="${CLEAN_FLASH:-false}" + VIRTUAL_AB="${VIRTUAL_AB:-false}" + FLASH_AB_FW_IMGS="${FLASH_AB_FW_IMGS:-}" + FLASH_A_FW_IMGS="${FLASH_A_FW_IMGS:-}" + FLASH_AB_IMGS="${FLASH_AB_IMGS:-}" + FLASH_A_IMGS="${FLASH_A_IMGS:-}" + ERASE_IMGS="${ERASE_IMGS:-}" + FORMAT_IMGS="${FORMAT_IMGS:-}" os_checks # Call function to look for device(s) -- GitLab From 21fdb693b2087540939fa28c373a9389c30ee76c Mon Sep 17 00:00:00 2001 From: SahilSonar Date: Mon, 5 Jan 2026 16:02:08 +0530 Subject: [PATCH 4/5] flash: Fix BLOB var splitting --- flash/factory.common | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flash/factory.common b/flash/factory.common index 8d9a140..fcabaf2 100755 --- a/flash/factory.common +++ b/flash/factory.common @@ -239,7 +239,7 @@ then for BLOB in $2; do PARTITION="${BLOB%%:*}" - IMAGE=$(echo $BLOB | cut -s -d : -f 2) + IMAGE=$(echo "$BLOB" | cut -s -d : -f 2) if [[ "$PARTITION" = "userdata" && "${CLEAN_FLASH}" != "true" ]] then @@ -258,7 +258,7 @@ then for BLOB in $2; do PARTITION="${BLOB%%:*}" - IMAGE=$(echo $BLOB | cut -s -d : -f 2) + IMAGE=$(echo "$BLOB" | cut -s -d : -f 2) flash_image_ab_or_abort "${1}" "${PARTITION}" "${IMAGES_DIR}/${IMAGE:-$PARTITION.img}" done -- GitLab From 1cc82185c48b7290d803a2789cdde2b18420c842 Mon Sep 17 00:00:00 2001 From: Manu Suresh Date: Tue, 6 Jan 2026 05:27:22 +0000 Subject: [PATCH 5/5] flash: set -euo pipefail --- flash/factory.common | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/flash/factory.common b/flash/factory.common index fcabaf2..4fed44c 100755 --- a/flash/factory.common +++ b/flash/factory.common @@ -1,7 +1,6 @@ #!/usr/bin/env bash -set -e -set -xeuo pipefail +set -euo pipefail # Paths/files ROOT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" -- GitLab