diff options
-rw-r--r-- | src/gleam_stdlib.erl | 2 | ||||
-rw-r--r-- | test/gleam/base_test.gleam | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/gleam_stdlib.erl b/src/gleam_stdlib.erl index 63067f6..9f3bd02 100644 --- a/src/gleam_stdlib.erl +++ b/src/gleam_stdlib.erl @@ -255,7 +255,7 @@ regex_scan(Regex, String) -> base_decode64(S) -> try {ok, base64:decode(S)} - catch error:badarith -> {error, nil} + catch error:_ -> {error, nil} end. wrap_list(X) when is_list(X) -> X; diff --git a/test/gleam/base_test.gleam b/test/gleam/base_test.gleam index a49724f..44cabd9 100644 --- a/test/gleam/base_test.gleam +++ b/test/gleam/base_test.gleam @@ -80,3 +80,9 @@ pub fn url_decode64_test() { |> base.url_decode64() |> should.equal(Error(Nil)) } + +pub fn decode64_crash_regression_1_test() { + "aGktdGhlcmU.uWUWvrAleKQ2jsWcU97H-RPJ5qRRcE_s" + |> base.decode64() + |> should.equal(Error(Nil)) +} |