aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2018-12-07 15:57:36 +0100
committerIngela Anderton Andin <[email protected]>2018-12-20 11:56:32 +0100
commit2b373141a4d35fb8c8acf4031446c0769b399980 (patch)
tree63731b3da00b033cb000972b6503edc8e285bc74
parentf2e727f79db98f4d0d741a7632c0a7a10cf13cf8 (diff)
downloadotp-2b373141a4d35fb8c8acf4031446c0769b399980.tar.gz
otp-2b373141a4d35fb8c8acf4031446c0769b399980.tar.bz2
otp-2b373141a4d35fb8c8acf4031446c0769b399980.zip
ssl: Use binary:copy/2 to avoid list overhead
-rw-r--r--lib/ssl/src/ssl_cipher.erl4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/ssl/src/ssl_cipher.erl b/lib/ssl/src/ssl_cipher.erl
index 54c04c13e5..66a00c60f1 100644
--- a/lib/ssl/src/ssl_cipher.erl
+++ b/lib/ssl/src/ssl_cipher.erl
@@ -889,7 +889,7 @@ is_correct_padding(GenBlockCipher, {3, 1}, false) ->
is_correct_padding(#generic_block_cipher{padding_length = Len,
padding = Padding}, _, _) ->
Len == byte_size(Padding) andalso
- list_to_binary(lists:duplicate(Len, Len)) == Padding.
+ binary:copy(?byte(Len), Len) == Padding.
get_padding(Length, BlockSize) ->
get_padding_aux(BlockSize, Length rem BlockSize).
@@ -898,7 +898,7 @@ get_padding_aux(_, 0) ->
{0, <<>>};
get_padding_aux(BlockSize, PadLength) ->
N = BlockSize - PadLength,
- {N, list_to_binary(lists:duplicate(N, N))}.
+ {N, binary:copy(?byte(N), N)}.
random_iv(IV) ->
IVSz = byte_size(IV),