FileAccess: Don't err in store_buffer with buffer of size 0
The error check was added for `FileAccessUnix` but it's not an error when both `p_src` and `p_length` are zero. Added correct error checks to all implementations to prevent the actual erroneous case: `p_src` is nullptr but `p_length > 0` (risk of null pointer indexing). Fixes #33564.
This commit is contained in:
@ -294,6 +294,7 @@ void FileAccessWindows::store_8(uint8_t p_dest) {
|
||||
|
||||
void FileAccessWindows::store_buffer(const uint8_t *p_src, uint64_t p_length) {
|
||||
ERR_FAIL_COND(!f);
|
||||
ERR_FAIL_COND(!p_src && p_length > 0);
|
||||
if (flags == READ_WRITE || flags == WRITE_READ) {
|
||||
if (prev_op == READ) {
|
||||
if (last_error != ERR_FILE_EOF) {
|
||||
|
||||
Reference in New Issue
Block a user