Do not read a frame past EOF.
[8sync.git] / 8sync / systems / websocket / frame.scm
index 7a71dba9ff56483b44c222edef00b58e4d439280..831456a61cccb0580d9480cb7734f4be69ca2b89 100644 (file)
@@ -1,5 +1,6 @@
 ;;; guile-websocket --- WebSocket client/server
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
+;;; Copyright © 2019 Rutger van Beusekom <rutger.van.beusekom@gmail.com>
 ;;;
 ;;; This file is part of guile-websocket.
 ;;;
@@ -309,7 +310,8 @@ MASKING-KEY."
 
     (let ((bv (get-bytevector-n port length)))
       (when masking-key
-        (mask-bytevector! bv masking-key))
+        (unless (eof-object? bv)
+          (mask-bytevector! bv masking-key)))
       bv))
 
   (let* ((type-byte (get-u8 port))