aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gleam_stdlib.erl2
-rw-r--r--test/gleam/base_test.gleam6
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))
+}