Support OTP 26 base64 decode error
The `Reason` part of the `error` for a bad base64 value changed from
`function_clause` to `missing_padding` in OTP 26, so add that as a
possibile case.
```
❯ erl
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:10:10] [ds:10:10:10] [async-threads:1] [jit]
Eshell V13.2.2 (abort with ^G)
1> base64:decode("bad").
** exception error: no function clause matching
base64:decode_list([],<<>>,27,26,29) (base64.erl, line 353)
```
```
Erlang/OTP 26 [erts-14.0] [source] [64-bit] [smp:10:10] [ds:10:10:10] [async-threads:1] [jit]
Eshell V14.0 (press Ctrl+G to abort, type help(). for help)
1> base64:decode("bad").
** exception error: missing_padding
in function base64:decode_list/7 (base64.erl, line 623)
*** data to decode is missing final = padding characters, if this is intended, use the `padding => false` option
```
diff --git a/src/couch_replicator/src/couch_replicator_utils.erl b/src/couch_replicator/src/couch_replicator_utils.erl
index 40d1885..0aff4e9 100644
--- a/src/couch_replicator/src/couch_replicator_utils.erl
+++ b/src/couch_replicator/src/couch_replicator_utils.erl
@@ -140,7 +140,8 @@
{undefined, undefined}
catch
% Tolerate invalid B64 values here to avoid crashing replicator
- error:function_clause ->
+ % Changed to `missing_padding` in OTP 26
+ error:Reason when Reason =:= function_clause; Reason =:= missing_padding ->
{undefined, undefined}
end.