aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Montgomery-Smith <stephen@FreeBSD.org>2023-12-07 05:44:17 +0000
committerStephen Montgomery-Smith <stephen@FreeBSD.org>2023-12-07 05:44:17 +0000
commit003fde6b296d6047db112bb72e2f7a7eb794c4e8 (patch)
tree03232fe3c721c4e6b7b2f4fb98a74a706aa49545
parent12a8c314fd1680859a5b4a67af45171b015a77bc (diff)
downloadports-003fde6b296d6047db112bb72e2f7a7eb794c4e8.tar.gz
ports-003fde6b296d6047db112bb72e2f7a7eb794c4e8.zip
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@
-rw-r--r--devel/gdcm/files/patch-Source_Common_gdcmOpenSSLCryptographicMessageSyntax.cxx25
1 files changed, 25 insertions, 0 deletions
diff --git a/devel/gdcm/files/patch-Source_Common_gdcmOpenSSLCryptographicMessageSyntax.cxx b/devel/gdcm/files/patch-Source_Common_gdcmOpenSSLCryptographicMessageSyntax.cxx
new file mode 100644
index 000000000000..200f9919ba73
--- /dev/null
+++ b/devel/gdcm/files/patch-Source_Common_gdcmOpenSSLCryptographicMessageSyntax.cxx
@@ -0,0 +1,25 @@
+--- 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
+ {
+