summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAlex Hirsch <w4rh4wk@bluephoenix.at>2021-03-16 22:55:11 +0100
committerAlex Hirsch <w4rh4wk@bluephoenix.at>2021-03-16 22:55:11 +0100
commitc28428fe4dcd78886b972afcad6b239a58b4b973 (patch)
tree95fbebd9a69d61285ae767c0b51905c9c48dbf5b /drivers
parent97ce8708e86b4cf17b01f7f8ddfd74e348fbb56c (diff)
Allow nullptr with zero length in FileAccess get_buffer
fix #47071
Diffstat (limited to 'drivers')
-rw-r--r--drivers/unix/file_access_unix.cpp2
-rw-r--r--drivers/windows/file_access_windows.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/unix/file_access_unix.cpp b/drivers/unix/file_access_unix.cpp
index 31ec9d4c93..4c08380dd0 100644
--- a/drivers/unix/file_access_unix.cpp
+++ b/drivers/unix/file_access_unix.cpp
@@ -240,7 +240,7 @@ uint8_t FileAccessUnix::get_8() const {
}
int FileAccessUnix::get_buffer(uint8_t *p_dst, int p_length) const {
- ERR_FAIL_COND_V(!p_dst, -1);
+ ERR_FAIL_COND_V(!p_dst && p_length > 0, -1);
ERR_FAIL_COND_V(p_length < 0, -1);
ERR_FAIL_COND_V_MSG(!f, -1, "File must be opened before use.");
int read = fread(p_dst, 1, p_length, f);
diff --git a/drivers/windows/file_access_windows.cpp b/drivers/windows/file_access_windows.cpp
index 17f68ecdac..b1b3fc9092 100644
--- a/drivers/windows/file_access_windows.cpp
+++ b/drivers/windows/file_access_windows.cpp
@@ -253,7 +253,7 @@ uint8_t FileAccessWindows::get_8() const {
}
int FileAccessWindows::get_buffer(uint8_t *p_dst, int p_length) const {
- ERR_FAIL_COND_V(!p_dst, -1);
+ ERR_FAIL_COND_V(!p_dst && p_length > 0, -1);
ERR_FAIL_COND_V(p_length < 0, -1);
ERR_FAIL_COND_V(!f, -1);
if (flags == READ_WRITE || flags == WRITE_READ) {