瀏覽代碼

Merge pull request #16033 from poke1024/marshalls-dict

Detects crash-related marshalling errors due to NAN values
Juan Linietsky 7 年之前
父節點
當前提交
cbd849d13f
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      core/io/marshalls.cpp

+ 3 - 1
core/io/marshalls.cpp

@@ -1211,7 +1211,9 @@ Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bo
 				r_len += len;
 				r_len += len;
 				if (buf)
 				if (buf)
 					buf += len;
 					buf += len;
-				encode_variant(d[E->get()], buf, len, p_object_as_id);
+				Variant *v = d.getptr(E->get());
+				ERR_FAIL_COND_V(!v, ERR_BUG);
+				encode_variant(*v, buf, len, p_object_as_id);
 				ERR_FAIL_COND_V(len % 4, ERR_BUG);
 				ERR_FAIL_COND_V(len % 4, ERR_BUG);
 				r_len += len;
 				r_len += len;
 				if (buf)
 				if (buf)