What changed, and why it matters
This commit updates the versions of two open-source barcode scanning libraries used in Electrum's Android app and removes a local workaround patch. The removed patch forced the compiled barcode scanner library to use a specific memory page size (16 KB) so it would work on newer Android devices. The upstream library now handles this automatically, so the patch is no longer needed. There is no direct evidence in the commit that this fixes a security vulnerability; it appears to be a routine dependency maintenance change.
Treat as routine maintenance. If security relevance is suspected, verify the upstream zxing-cpp and BarcodeScannerView changelogs between the old and new commits for any security fixes, and confirm the removed 16 KB alignment patch is genuinely redundant in the new upstream version. No immediate security response is indicated by the commit itself.
Security signals we found
Dependency version bump for barcode scanner components
Removal of local 16 KB page-size alignment workaround
No explicit security fix, CVE, or vulnerability description in commit message or diff
Evidence from the diff
The commit bumps BarcodeScannerView from commit a4928bf (version 1.6.3) to 0bdb692 (version 1.6.5) and zxing-cpp from 0741a59 (v2.2.0.5) to 79f5adc (v2.3.0.4). It deletes contrib/android/barcode_16kb.patch, which previously added target_link_options(zxingcpp_android PRIVATE “-Wl,-z,max-page-size=16384”) to the upstream zxing-cpp CMake build to support Android 15’s 16 KB memory page size requirement. The make_barcode_scanner.sh build script no longer applies this patch. The change is framed as cleanup because upstream now performs this alignment.
Changed components
Electrum Android build toolingcontrib/android/make_barcode_scanner.shcontrib/android/barcode_16kb.patchBarcodeScannerView dependency (markusfisch/BarcodeScannerView)zxing-cpp dependency (markusfisch/zxing-cpp)Inspect captured patch +2 / −12
diff --git a/contrib/android/barcode_16kb.patch b/contrib/android/barcode_16kb.patch
deleted file mode 100644
index bb9ea20..0000000
--- a/contrib/android/barcode_16kb.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff --git a/wrappers/aar/zxingcpp/src/main/cpp/CMakeLists.txt b/wrappers/aar/zxingcpp/src/main/cpp/CMakeLists.txt
-index 11332e48..78f514f1 100644
---- a/wrappers/aar/zxingcpp/src/main/cpp/CMakeLists.txt
-+++ b/wrappers/aar/zxingcpp/src/main/cpp/CMakeLists.txt
-@@ -13,3 +13,4 @@ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../core ZXing EXCLUD
- add_library(zxingcpp_android SHARED ZxingCpp.cpp)
-
- target_link_libraries(zxingcpp_android PRIVATE ZXing::ZXing jnigraphics)
-+target_link_options(zxingcpp_android PRIVATE "-Wl,-z,max-page-size=16384")
diff --git a/contrib/android/make_barcode_scanner.sh b/contrib/android/make_barcode_scanner.sh
index 7c3f70e..d0847b5 100755
--- a/contrib/android/make_barcode_scanner.sh
+++ b/contrib/android/make_barcode_scanner.sh
@@ -12,13 +12,13 @@
# https://github.com/markusfisch/zxing-cpp/blob/master/wrappers/aar/build.gradle
-BARCODE_SCANNER_VIEW_COMMIT_HASH="a4928bf83c0aae8ecb80e665d93f10b70232455b" # 1.6.3
+BARCODE_SCANNER_VIEW_COMMIT_HASH="0bdb69269c252bb6daef2f871b76403c8b051945" # 1.6.5
BARCODE_SCANNER_VIEW_REPO="https://github.com/markusfisch/BarcodeScannerView.git"
CAMERA_VIEW_COMMIT_HASH="745597d05bc6abfdb3637a09a8ecaf30fdce7b6e" # 1.10.0
CAMERA_VIEW_REPO="https://github.com/markusfisch/CameraView.git"
-ZXING_CPP_COMMIT_HASH="0741a597409ff69a96a326f3a65fe6440d87ad99" # v2.2.0.5 using kotlin-stdlib 1.8.22
+ZXING_CPP_COMMIT_HASH="79f5adc6250e90de0bd635eb9181c5f8a18affda" # v2.3.0.4 using kotlin-stdlib 1.8.22
ZXING_CPP_REPO="https://github.com/markusfisch/zxing-cpp.git"
@@ -65,7 +65,6 @@ else
info "Building zxing-cpp for $ZXING_CPP_BUILD_ID..."
ZXING_CPP_DIR="$BUILDDIR/zxing-cpp"
clone_or_update_repo "$ZXING_CPP_REPO" "$ZXING_CPP_COMMIT_HASH" "$ZXING_CPP_DIR"
- apply_patch "${CONTRIB_ANDROID}/barcode_16kb.patch" "$ZXING_CPP_DIR"
cd "$ZXING_CPP_DIR/wrappers/aar"
chmod +x gradlew
Why this scored 18/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.