diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-04-09 12:29:18 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-04-09 12:29:18 +0300 |
commit | 397b7056471f5644e1d9ad32426a2789b96d43d7 (patch) | |
tree | 1d4811bc915353a273d5a5e5d12ef420b427fae3 | |
parent | 7e9182f3aa16f0a7d80edd1362a383fe68f1509c (diff) | |
download | micropython-397b7056471f5644e1d9ad32426a2789b96d43d7.tar.gz micropython-397b7056471f5644e1d9ad32426a2789b96d43d7.zip |
extmod/modwebsocket: Reset mask between packets.
-rw-r--r-- | extmod/modwebsocket.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/extmod/modwebsocket.c b/extmod/modwebsocket.c index 9f4e5ee7e8..6cd4f515df 100644 --- a/extmod/modwebsocket.c +++ b/extmod/modwebsocket.c @@ -82,6 +82,11 @@ STATIC mp_uint_t websocket_read(mp_obj_t self_in, void *buf, mp_uint_t size, int switch (self->state) { case FRAME_HEADER: { assert(self->buf[0] & 0x80); + + // Reset mask in case someone will use "simplified" protocol + // without masks. + memset(self->mask, 0, sizeof(self->mask)); + int to_recv = 0; size_t sz = self->buf[1] & 0x7f; if (sz == 126) { |