diff options
author | Sam Atkins <atkinssj@serenityos.org> | 2022-01-20 17:47:39 +0000 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-01-24 22:36:09 +0100 |
commit | 45cf40653a03dab11c0739783446ff696a9a5b0a (patch) | |
tree | 1611c797d1a43a106cf7220fcbdbba907f19d037 /Userland/Libraries/LibCrypto | |
parent | 140f1d9e55bfacb6f784bee591a6938714ed95b3 (diff) | |
download | serenity-45cf40653a03dab11c0739783446ff696a9a5b0a.zip |
Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr
Apologies for the enormous commit, but I don't see a way to split this
up nicely. In the vast majority of cases it's a simple change. A few
extra places can use TRY instead of manual error checking though. :^)
Diffstat (limited to 'Userland/Libraries/LibCrypto')
4 files changed, 7 insertions, 7 deletions
diff --git a/Userland/Libraries/LibCrypto/Cipher/Mode/GCM.h b/Userland/Libraries/LibCrypto/Cipher/Mode/GCM.h index 900fd8b0b7..d5cb048ba9 100644 --- a/Userland/Libraries/LibCrypto/Cipher/Mode/GCM.h +++ b/Userland/Libraries/LibCrypto/Cipher/Mode/GCM.h @@ -68,12 +68,12 @@ public: { auto iv_buf_result = ByteBuffer::copy(iv_in); // Not enough memory to figure out :shrug: - if (!iv_buf_result.has_value()) { + if (iv_buf_result.is_error()) { dbgln("GCM::encrypt: Not enough memory to allocate {} bytes for IV", iv_in.size()); return; } - auto iv = iv_buf_result->bytes(); + auto iv = iv_buf_result.value().bytes(); // Increment the IV for block 0 CTR<T>::increment(iv); @@ -98,10 +98,10 @@ public: { auto iv_buf_result = ByteBuffer::copy(iv_in); // Not enough memory to figure out :shrug: - if (!iv_buf_result.has_value()) + if (iv_buf_result.is_error()) return VerificationConsistency::Inconsistent; - auto iv = iv_buf_result->bytes(); + auto iv = iv_buf_result.value().bytes(); // Increment the IV for block 0 CTR<T>::increment(iv); diff --git a/Userland/Libraries/LibCrypto/Cipher/Mode/Mode.h b/Userland/Libraries/LibCrypto/Cipher/Mode/Mode.h index 50c39f9f0c..0daf56eac6 100644 --- a/Userland/Libraries/LibCrypto/Cipher/Mode/Mode.h +++ b/Userland/Libraries/LibCrypto/Cipher/Mode/Mode.h @@ -26,7 +26,7 @@ public: const T& cipher() const { return m_cipher; } - Optional<ByteBuffer> create_aligned_buffer(size_t input_size) const + ErrorOr<ByteBuffer> create_aligned_buffer(size_t input_size) const { size_t remainder = (input_size + T::block_size()) % T::block_size(); if (remainder == 0) diff --git a/Userland/Libraries/LibCrypto/NumberTheory/ModularFunctions.cpp b/Userland/Libraries/LibCrypto/NumberTheory/ModularFunctions.cpp index 5940aa6909..4aa33b015d 100644 --- a/Userland/Libraries/LibCrypto/NumberTheory/ModularFunctions.cpp +++ b/Userland/Libraries/LibCrypto/NumberTheory/ModularFunctions.cpp @@ -165,7 +165,7 @@ UnsignedBigInteger random_number(const UnsignedBigInteger& min, const UnsignedBi UnsignedBigInteger base; auto size = range.trimmed_length() * sizeof(u32) + 2; // "+2" is intentional (see below). - auto buffer = ByteBuffer::create_uninitialized(size).release_value(); // FIXME: Handle possible OOM situation. + auto buffer = ByteBuffer::create_uninitialized(size).release_value_but_fixme_should_propagate_errors(); // FIXME: Handle possible OOM situation. auto* buf = buffer.data(); fill_with_random(buf, size); diff --git a/Userland/Libraries/LibCrypto/PK/RSA.cpp b/Userland/Libraries/LibCrypto/PK/RSA.cpp index 12fed7b954..15f257fc29 100644 --- a/Userland/Libraries/LibCrypto/PK/RSA.cpp +++ b/Userland/Libraries/LibCrypto/PK/RSA.cpp @@ -199,7 +199,7 @@ RSA::KeyPairType RSA::parse_rsa_key(ReadonlyBytes der) auto data = data_result.release_value(); // FIXME: This is pretty awkward, maybe just generate a zero'd out ByteBuffer from the parser instead? auto padded_data_result = ByteBuffer::create_zeroed(data.size_in_bytes()); - if (!padded_data_result.has_value()) { + if (padded_data_result.is_error()) { dbgln_if(RSA_PARSE_DEBUG, "RSA PKCS#1 key parse failed: Not enough memory"); return keypair; } |