ports/devel/gdcm/files/patch-Source_Common_gdcmOpenSSLCryptographicMessageSyntax.cxx
Stephen Montgomery-Smith 003fde6b29 devel/gdcm: Fix build when with LibreSSL 3.8.2.
gdcm uses the BUF_memdup() function which was removed from LibreSSL.
Attached patch adds a local copy when built with LibreSSL.

PR:		275568
Reported by:	zirias@
2023-12-06 23:44:17 -06:00

25 lines
662 B
C++

--- Source/Common/gdcmOpenSSLCryptographicMessageSyntax.cxx.orig 2023-12-04 07:33:11 UTC
+++ Source/Common/gdcmOpenSSLCryptographicMessageSyntax.cxx
@@ -24,6 +24,22 @@
#include <openssl/err.h>
#include <openssl/rand.h>
+#if LIBRESSL_VERSION_NUMBER >= 0x3080200fL
+// implementation copied from LibreSSL before removal in 3.8.2
+static void *BUF_memdup(const void *data, size_t siz)
+{
+ void *ret = NULL;
+ if (data != NULL)
+ {
+ if ((ret = malloc(siz)) == NULL)
+ ERR_PUT_error(ERR_LIB_BUF,(0xfff),ERR_R_MALLOC_FAILURE,__FILE__,__LINE__);
+ else
+ (void) memcpy(ret, data, siz);
+ }
+ return ret;
+}
+#endif
+
namespace gdcm
{