28 lines
1.1 KiB
Diff
28 lines
1.1 KiB
Diff
|
--- a/OrthancFramework/Sources/Toolbox.cpp Fri Sep 20 16:05:04 2024 +0200
|
||
|
+++ b/OrthancFramework/Sources/Toolbox.cpp Tue Sep 24 09:26:42 2024 +0200
|
||
|
@@ -801,7 +801,6 @@
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
-
|
||
|
void Toolbox::ComputeSHA1(std::string& result,
|
||
|
const void* data,
|
||
|
size_t size)
|
||
|
@@ -814,11 +813,13 @@
|
||
|
}
|
||
|
|
||
|
unsigned int digest[5];
|
||
|
-
|
||
|
// Sanity check for the memory layout: A SHA-1 digest is 160 bits wide
|
||
|
- assert(sizeof(unsigned int) == 4 && sizeof(digest) == (160 / 8));
|
||
|
+ assert(sizeof(unsigned int) == 4 && sizeof(digest) == (160 / 8));
|
||
|
+ assert(sizeof(boost::uuids::detail::sha1::digest_type) == 20);
|
||
|
|
||
|
- sha1.get_digest(digest);
|
||
|
+ // From Boost 1.86, digest_type is "unsigned char[20]" while it was "unsigned int[5]"" in previous versions.
|
||
|
+ // Always perform the cast even if it is useless for Boost < 1.86
|
||
|
+ sha1.get_digest(*(reinterpret_cast<boost::uuids::detail::sha1::digest_type*>(digest)));
|
||
|
|
||
|
result.resize(8 * 5 + 4);
|
||
|
sprintf(&result[0], "%08x-%08x-%08x-%08x-%08x",
|