pe-binary: tweak pe_read_section_data() error codes

Let's return -EBADMSG if the PE headers reference stuff missing in the
file, regardless if that's because the offsets are larger than SSIZE_MAX
or just larger than the file size. We generally use EBADMSG for all
cases we deem the file to not be a conformant PE file, and these two
cases are the same. Hence, let's be systematic here.
This commit is contained in:
Lennart Poettering
2026-05-22 12:26:25 +02:00
parent 469de233a3
commit 7c17b25fa4
+2 -2
View File
@@ -200,7 +200,7 @@ int pe_read_section_data(
size_t n = le32toh(section->VirtualSize);
if (n > MIN(max_size, (size_t) SSIZE_MAX))
return -E2BIG;
return -EBADMSG;
_cleanup_free_ void *data = malloc(n+1);
if (!data)
@@ -210,7 +210,7 @@ int pe_read_section_data(
if (ss < 0)
return -errno;
if ((size_t) ss != n)
return -EIO;
return -EBADMSG;
if (ret_size)
*ret_size = n;