Skip to content

Commit a5da4f3

Browse files
minor fixes
1 parent 46c14ee commit a5da4f3

File tree

3 files changed

+15
-31
lines changed

3 files changed

+15
-31
lines changed

include/aws/crt/checksum/XXHash.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,10 @@ namespace Aws
4444
class AWS_CRT_CPP_API XXHash final
4545
{
4646
public:
47-
~XXHash();
4847
XXHash(const XXHash &) = delete;
4948
XXHash &operator=(const XXHash &) = delete;
50-
XXHash(XXHash &&toMove);
51-
XXHash &operator=(XXHash &&toMove);
49+
XXHash(XXHash &&toMove) noexcept = default;
50+
XXHash &operator=(XXHash &&toMove) noexcept = default;
5251

5352
/**
5453
* Returns the value of the last aws error encountered by operations on this instance.
@@ -87,7 +86,7 @@ namespace Aws
8786
XXHash(aws_xxhash *hash) noexcept;
8887
XXHash() = delete;
8988

90-
aws_xxhash *m_hash;
89+
ScopedResource<struct aws_xxhash> m_hash;
9190
int m_lastError;
9291
};
9392
} // namespace Checksum

source/checksum/XXHash.cpp

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -26,38 +26,14 @@ namespace Aws
2626
return aws_xxhash3_128_compute(seed, input, &output) == AWS_OP_SUCCESS;
2727
}
2828

29-
XXHash::XXHash(aws_xxhash *hash) noexcept : m_hash(hash), m_lastError(0)
29+
XXHash::XXHash(aws_xxhash *hash) noexcept : m_hash(hash, aws_xxhash_destroy), m_lastError(0)
3030
{
31-
if (!hash)
31+
if (hash == nullptr)
3232
{
33-
m_lastError = aws_last_error();
34-
}
35-
}
36-
37-
XXHash::~XXHash()
38-
{
39-
if (m_hash)
40-
{
41-
aws_xxhash_destroy(m_hash);
42-
m_hash = nullptr;
33+
m_lastError = Crt::LastError();
4334
}
4435
}
4536

46-
XXHash::XXHash(XXHash &&toMove) : m_hash(toMove.m_hash), m_lastError(toMove.m_lastError)
47-
{
48-
toMove.m_hash = nullptr;
49-
}
50-
51-
XXHash &XXHash::operator=(XXHash &&toMove)
52-
{
53-
if (&toMove != this)
54-
{
55-
*this = XXHash(std::move(toMove));
56-
}
57-
58-
return *this;
59-
}
60-
6137
XXHash XXHash::CreateXXHash64(uint64_t seed, Allocator *allocator) noexcept
6238
{
6339
return XXHash(aws_xxhash64_new(allocator, seed));

tests/CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ add_test_case(JsonExplicitNull)
6363
add_test_case(JsonBoolTest)
6464
add_test_case(JsonMoveTest)
6565
add_test_case(SHA256ResourceSafety)
66+
add_test_case(SHA512ResourceSafety)
6667
add_test_case(MD5ResourceSafety)
6768
add_test_case(SHA1ResourceSafety)
6869
add_test_case(SHA256HMACResourceSafety)
@@ -322,6 +323,14 @@ if (NOT BYO_CRYPTO)
322323
add_test_case(HKDFPiping)
323324
endif()
324325

326+
add_test_case(CRC32Piping);
327+
add_test_case(CRC32CPiping);
328+
add_test_case(CRC64NVMEPiping);
329+
330+
add_test_case(XXHash64Piping);
331+
add_test_case(XXHash3_64Piping);
332+
add_test_case(XXHash3_128Piping);
333+
325334
generate_cpp_test_driver(${TEST_BINARY_NAME})
326335

327336
aws_add_sanitizers(${TEST_BINARY_NAME})

0 commit comments

Comments
 (0)