trusty: apploader: fail specifically if app package is 0 bytes

Replace assert with check and log message.  Also log more about the request if DMA heap allocation fails.

Bug: 315283243
Test: boot to home
Test: touch x && trusty_apploader x
Change-Id: Ic075809fd2a6b09d9c4e8dff986709c4deae8fb7
This commit is contained in:
Mike McTernan 2023-12-07 12:13:18 +00:00
parent 96fd39c228
commit b22e5bcf60

View file

@ -107,7 +107,11 @@ static unique_fd read_file(const char* file_name, off64_t* out_file_size) {
return {};
}
assert(st.st_size >= 0);
if (st.st_size == 0) {
LOG(ERROR) << "Zero length file '" << file_name << "'";
return {};
}
file_size = st.st_size;
/* The dmabuf size needs to be a multiple of the page size */
@ -123,7 +127,8 @@ static unique_fd read_file(const char* file_name, off64_t* out_file_size) {
BufferAllocator alloc;
unique_fd dmabuf_fd(alloc.Alloc(kDmabufSystemHeapName, file_page_size));
if (!dmabuf_fd.ok()) {
LOG(ERROR) << "Error creating dmabuf: " << dmabuf_fd.get();
LOG(ERROR) << "Error creating dmabuf for " << file_page_size
<< " bytes: " << dmabuf_fd.get();
return dmabuf_fd;
}