summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2018-05-07 17:51:06 -0300
committerGitHub <noreply@github.com>2018-05-07 17:51:06 -0300
commitcbd849d13fec42302c0a6e96531c54a71c7d43f8 (patch)
treebe76a2269ecaae5fce608eef580c16225e89883d
parentff1e7cfbf4b7ad9b327588ce7dffb43d31fee3e9 (diff)
parenteb1f9375ead3ee772681d7176a238691489fde1b (diff)
Merge pull request #16033 from poke1024/marshalls-dict
Detects crash-related marshalling errors due to NAN values
-rw-r--r--core/io/marshalls.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/core/io/marshalls.cpp b/core/io/marshalls.cpp
index 2ebe8d6df7..0a3a6c1ba1 100644
--- a/core/io/marshalls.cpp
+++ b/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;
if (buf)
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);
r_len += len;
if (buf)