File 4593-ssl-Don-t-use-exit-for-errors.patch of Package erlang
From f6701026eef6cf6f176aba9520c6f9eb46d4f1b1 Mon Sep 17 00:00:00 2001
From: Dan Gudmundsson <dgud@erlang.org>
Date: Fri, 24 Sep 2021 10:46:29 +0200
Subject: [PATCH 03/10] ssl: Don't use exit for errors
Don't use exit to signal error, use error instead.
The data is not catched anywhere (or anymore) so remove
it and generate a function clause instead.
---
lib/ssl/src/tls_record.erl | 4 +---
lib/ssl/src/tls_record_1_3.erl | 5 +----
2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/lib/ssl/src/tls_record.erl b/lib/ssl/src/tls_record.erl
index a551718c38..069638937f 100644
--- a/lib/ssl/src/tls_record.erl
+++ b/lib/ssl/src/tls_record.erl
@@ -706,9 +706,7 @@ encode_fragments(Type, Version, [Text|Data],
{MajVer, MinVer} = Version,
CipherHeader = <<?BYTE(Type), ?BYTE(MajVer), ?BYTE(MinVer), ?UINT16(Length)>>,
encode_fragments(Type, Version, Data, CS, CompS, CipherS, Seq + 1,
- [[CipherHeader, CipherFragment] | CipherFragments]);
-encode_fragments(_Type, _Version, _Data, CS, _CompS, _CipherS, _Seq, _CipherFragments) ->
- exit({cs, CS}).
+ [[CipherHeader, CipherFragment] | CipherFragments]).
%%--------------------------------------------------------------------
%% 1/n-1 splitting countermeasure Rizzo/Duong-Beast, RC4 ciphers are
diff --git a/lib/ssl/src/tls_record_1_3.erl b/lib/ssl/src/tls_record_1_3.erl
index 3e42e3bf97..92d6491e38 100644
--- a/lib/ssl/src/tls_record_1_3.erl
+++ b/lib/ssl/src/tls_record_1_3.erl
@@ -291,10 +291,7 @@ encode_plain_text(#inner_plaintext{
%% structures are written directly onto the wire.
#tls_cipher_text{opaque_type = Type,
legacy_version = {3,3},
- encoded_record = Data};
-
-encode_plain_text(_, CS) ->
- exit({cs, CS}).
+ encoded_record = Data}.
additional_data(Length) ->
<<?BYTE(?OPAQUE_TYPE), ?BYTE(3), ?BYTE(3),?UINT16(Length)>>.
--
2.31.1