From c06e81a81b9d62a18bb3c48fe8e4af1cf5dfb4e8 Mon Sep 17 00:00:00 2001 From: Joel Walker Date: Sun, 18 Sep 2022 01:03:12 -0700 Subject: [PATCH] Don't crash when a message is split in the middle of the payload length field. --- lib/mint/web_socket/frame.ex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/mint/web_socket/frame.ex b/lib/mint/web_socket/frame.ex index 6ea24db1..c7ab42f2 100644 --- a/lib/mint/web_socket/frame.ex +++ b/lib/mint/web_socket/frame.ex @@ -259,7 +259,7 @@ defmodule Mint.WebSocket.Frame do ), do: {:ok, payload_length, rest} - defp decode_payload_length(<<127::integer-size(7)>>), do: :buffer + defp decode_payload_length(<<127::integer-size(7), _rest::bitstring>>), do: :buffer defp decode_payload_length( <<126::integer-size(7), payload_length::unsigned-integer-size(8)-unit(2), @@ -267,7 +267,7 @@ defmodule Mint.WebSocket.Frame do ), do: {:ok, payload_length, rest} - defp decode_payload_length(<<126::integer-size(7)>>), do: :buffer + defp decode_payload_length(<<126::integer-size(7), _rest::bitstring>>), do: :buffer defp decode_payload_length(<>) when payload_length in 0..125,