summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHridya Valsaraju <hridya@google.com>2018-07-09 10:45:09 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-07-09 10:45:09 -0700
commit164097e751bdf9964a3da61b7876523064a8ceb8 (patch)
treed071d570db79675ce6b0d31f9485f99908fdbd45
parentb0e128b04ba1ec0ecb2a2d9c2b76c2edd7828ef7 (diff)
parentc38931bd4bed684c50cb5ba659c7960999cd0da3 (diff)
downloadlibufdt-164097e751bdf9964a3da61b7876523064a8ceb8.tar.gz
Add check to test for corrupted or empty overlays
am: c38931bd4b Change-Id: I51eb86eec6e411e3f35f416fe21d35b34f411008
-rw-r--r--tests/libufdt_verify/ufdt_test_overlay.cpp6
-rwxr-xr-xtests/verifyDTBO.sh2
2 files changed, 7 insertions, 1 deletions
diff --git a/tests/libufdt_verify/ufdt_test_overlay.cpp b/tests/libufdt_verify/ufdt_test_overlay.cpp
index 19d56e7..2554d9d 100644
--- a/tests/libufdt_verify/ufdt_test_overlay.cpp
+++ b/tests/libufdt_verify/ufdt_test_overlay.cpp
@@ -431,6 +431,12 @@ int ufdt_verify_dtbo(struct fdt_header* final_fdt_header,
goto fail;
}
+ for (size_t i = 0; i < overlay_count; i++) {
+ if ((fdt_magic(overlay_arr[i]) != FDT_MAGIC) || !fdt_totalsize(overlay_arr[i])) {
+ dto_error("Corrupted or empty overlay\n");
+ goto fail;
+ }
+ }
ufdt_node_pool_construct(&pool);
final_tree = ufdt_from_fdt(final_fdt_header, final_fdt_size, &pool);
diff --git a/tests/verifyDTBO.sh b/tests/verifyDTBO.sh
index 7ba9fca..d1a4366 100755
--- a/tests/verifyDTBO.sh
+++ b/tests/verifyDTBO.sh
@@ -24,7 +24,7 @@ adb pull $dtbo_path dtbo.img > /dev/null
adb pull /sys/firmware/fdt final_dt > /dev/null
#decompile the DTBO image
-mkdtimg_path="${ANDROID_HOST_BIN_LOCATION}/mkdtimg"
+mkdtimg_path="${ANDROID_HOST_BIN_LOCATION}/mkdtboimg.py"
$mkdtimg_path dump dtbo.img -b dumped_dtbo > /dev/null
#Get the index of the overlay applied from the kernel command line