Null terminate the std::array given to execve

std::array<T, N> takes exactly N * sizeof(T) bytes, leaving no room for
the null terminator.

Bug: 335047945
Test: re-run the GSI test
Change-Id: Ic3aca5f409021c78a7eb965c5ed610e6a51e42cb
This commit is contained in:
Jiyong Park 2024-04-20 10:11:46 +09:00
parent 6d6ff398b3
commit e873e1d31b

View file

@ -556,11 +556,11 @@ static bool MaybeDeriveMicrodroidVendorDiceNode(Fstab* fstab) {
return true;
}
// clang-format off
const std::array<const char*, 7> args = {
const std::array<const char*, 8> args = {
"/system/bin/derive_microdroid_vendor_dice_node",
"--dice-driver", "/dev/open-dice0",
"--microdroid-vendor-disk-image", microdroid_vendor_block_dev->data(),
"--output", "/microdroid_resources/dice_chain.raw",
"--output", "/microdroid_resources/dice_chain.raw", nullptr,
};
// clang-format-on
// ForkExecveAndWaitForCompletion calls waitpid to wait for the fork-ed process to finish.