diff --git a/lib/websocket/driver/stream_reader.rb b/lib/websocket/driver/stream_reader.rb index d63b2f7..a89c4d2 100644 --- a/lib/websocket/driver/stream_reader.rb +++ b/lib/websocket/driver/stream_reader.rb @@ -12,6 +12,7 @@ def initialize def put(chunk) return unless chunk and chunk.bytesize > 0 + chunk = chunk.dup if chunk.frozen? @buffer << chunk.force_encoding(Encoding::BINARY) end