From 5426543da1656dba6e2817d1b6fe6da98f9c0fd3 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 ce2d570..9e0ddea 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 f8733010d06f77290def61d7a9e6ce444131f5c1 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 9e0ddea..efc794e 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 4f602e671de8e2cf7848be08f6a071530b234980 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 efc794e..ae276fd 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 8c07c7bc8272bdb1e4428d0184475db4a35acf6d 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 ae276fd..fe23d1a 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 e0796092d6108752ed5e5be6b0626516b1b56cf6 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 fe23d1a..9131a7d 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