diff options
author | Juan Linietsky <reduzio@gmail.com> | 2015-10-21 16:52:43 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2015-10-21 16:52:43 -0300 |
commit | 35959f9c5a314effc9a442931baccec2408b8ece (patch) | |
tree | 22375896183f8ce7821bba81a20eeac5e124dc1d /core/io | |
parent | b59c86f6f953ce6957bccbcc1ec6f3ce4c55572d (diff) | |
download | redot-engine-35959f9c5a314effc9a442931baccec2408b8ece.tar.gz |
-fixes to ring buffer (fixes network error)
-fixes to invalid disabling of commands on scene tree dock
Diffstat (limited to 'core/io')
-rw-r--r-- | core/io/marshalls.cpp | 5 | ||||
-rw-r--r-- | core/io/packet_peer.cpp | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/core/io/marshalls.cpp b/core/io/marshalls.cpp index 1e76e2b4b2..62ccd81489 100644 --- a/core/io/marshalls.cpp +++ b/core/io/marshalls.cpp @@ -36,7 +36,10 @@ Error decode_variant(Variant& r_variant,const uint8_t *p_buffer, int p_len,int * const uint8_t * buf=p_buffer; int len=p_len; - ERR_FAIL_COND_V(len<4,ERR_INVALID_DATA); + if (len<4) { + + ERR_FAIL_COND_V(len<4,ERR_INVALID_DATA); + } uint32_t type=decode_uint32(buf); diff --git a/core/io/packet_peer.cpp b/core/io/packet_peer.cpp index 875cace368..f6d526b512 100644 --- a/core/io/packet_peer.cpp +++ b/core/io/packet_peer.cpp @@ -156,7 +156,6 @@ Error PacketPeerStream::_poll_buffer() const { Error err = peer->get_partial_data(&temp_buffer[0], ring_buffer.space_left(), read); if (err) return err; - if (read==0) return OK; @@ -202,7 +201,7 @@ Error PacketPeerStream::get_packet(const uint8_t **r_buffer,int &r_buffer_size) uint8_t lbuf[4]; ring_buffer.copy(lbuf,0,4); remaining-=4; - uint32_t len = decode_uint32(lbuf); + uint32_t len = decode_uint32(lbuf); ERR_FAIL_COND_V(remaining<(int)len,ERR_UNAVAILABLE); ring_buffer.read(lbuf,4); //get rid of first 4 bytes |