diff options
author | Hridya Valsaraju <hridya@google.com> | 2018-07-09 10:45:09 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-07-09 10:45:09 -0700 |
commit | 164097e751bdf9964a3da61b7876523064a8ceb8 (patch) | |
tree | d071d570db79675ce6b0d31f9485f99908fdbd45 | |
parent | b0e128b04ba1ec0ecb2a2d9c2b76c2edd7828ef7 (diff) | |
parent | c38931bd4bed684c50cb5ba659c7960999cd0da3 (diff) | |
download | libufdt-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.cpp | 6 | ||||
-rwxr-xr-x | tests/verifyDTBO.sh | 2 |
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 |