Browse Source

Prevent `encode_variant` doing `memcpy` from `nullptr`

A Thousand Ships 1 year ago
parent
commit
210461f2ed
1 changed files with 4 additions and 2 deletions
  1. 4 2
      core/io/marshalls.cpp

+ 4 - 2
core/io/marshalls.cpp

@@ -1621,8 +1621,10 @@ Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bo
 				encode_uint32(datalen, buf);
 				encode_uint32(datalen, buf);
 				buf += 4;
 				buf += 4;
 				const uint8_t *r = data.ptr();
 				const uint8_t *r = data.ptr();
-				memcpy(buf, &r[0], datalen * datasize);
-				buf += datalen * datasize;
+				if (r) {
+					memcpy(buf, &r[0], datalen * datasize);
+					buf += datalen * datasize;
+				}
 			}
 			}
 
 
 			r_len += 4 + datalen * datasize;
 			r_len += 4 + datalen * datasize;