summaryrefslogtreecommitdiff
path: root/sysutils/bacula/patches
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2013-11-06 16:00:05 +0000
committerjoerg <joerg@pkgsrc.org>2013-11-06 16:00:05 +0000
commit37bcedac568559e3e0ec5e909bcfcce60ffdcdd6 (patch)
treeced8b50c5d0a00f5020b6ff8abeb9b8ecbb89deb /sysutils/bacula/patches
parent3ee26bbbde89aa1b7f97e1bfd0e8d6458145353a (diff)
downloadpkgsrc-37bcedac568559e3e0ec5e909bcfcce60ffdcdd6.tar.gz
Fix sizeof use in internal MD5_Final. Kill non-global replacements for
new/delete only used in a test case to unbreak build with current clang.
Diffstat (limited to 'sysutils/bacula/patches')
-rw-r--r--sysutils/bacula/patches/patch-src_lib_md5.c13
-rw-r--r--sysutils/bacula/patches/patch-src_plugins_fd_fd__common.h54
2 files changed, 67 insertions, 0 deletions
diff --git a/sysutils/bacula/patches/patch-src_lib_md5.c b/sysutils/bacula/patches/patch-src_lib_md5.c
new file mode 100644
index 00000000000..6df58f88512
--- /dev/null
+++ b/sysutils/bacula/patches/patch-src_lib_md5.c
@@ -0,0 +1,13 @@
+$NetBSD: patch-src_lib_md5.c,v 1.1 2013/11/06 16:00:05 joerg Exp $
+
+--- src/lib/md5.c.orig 2013-11-06 15:37:34.000000000 +0000
++++ src/lib/md5.c
+@@ -173,7 +173,7 @@ void MD5Final(unsigned char digest[16],
+ MD5Transform(ctx->buf, (uint32_t *) ctx->in);
+ byteReverse((unsigned char *) ctx->buf, 4);
+ memcpy(digest, ctx->buf, 16);
+- memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
++ memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */
+ }
+
+
diff --git a/sysutils/bacula/patches/patch-src_plugins_fd_fd__common.h b/sysutils/bacula/patches/patch-src_plugins_fd_fd__common.h
new file mode 100644
index 00000000000..84c16fd4f76
--- /dev/null
+++ b/sysutils/bacula/patches/patch-src_plugins_fd_fd__common.h
@@ -0,0 +1,54 @@
+$NetBSD: patch-src_plugins_fd_fd__common.h,v 1.1 2013/11/06 16:00:05 joerg Exp $
+
+Replacements for new and delete must be global according to ISO C++.
+This file is only used by a test case, so just drop them.
+
+--- src/plugins/fd/fd_common.h.orig 2013-11-06 15:38:19.000000000 +0000
++++ src/plugins/fd/fd_common.h
+@@ -71,46 +71,6 @@ DLL_IMP_EXP void reallyfree(const char *
+ #define malloc(s) sm_malloc(__FILE__, __LINE__, (s))
+ #define free(o) sm_free(__FILE__, __LINE__, (o))
+
+-inline void *operator new(size_t size, char const * file, int line)
+-{
+- void *pnew = sm_malloc(file,line, size);
+- memset((char *)pnew, 0, size);
+- return pnew;
+-}
+-
+-inline void *operator new[](size_t size, char const * file, int line)
+-{
+- void *pnew = sm_malloc(file, line, size);
+- memset((char *)pnew, 0, size);
+- return pnew;
+-}
+-
+-inline void *operator new(size_t size)
+-{
+- void *pnew = sm_malloc(__FILE__, __LINE__, size);
+- memset((char *)pnew, 0, size);
+- return pnew;
+-}
+-
+-inline void *operator new[](size_t size)
+-{
+- void *pnew = sm_malloc(__FILE__, __LINE__, size);
+- memset((char *)pnew, 0, size);
+- return pnew;
+-}
+-
+-#define new new(__FILE__, __LINE__)
+-
+-inline void operator delete(void *buf)
+-{
+- sm_free( __FILE__, __LINE__, buf);
+-}
+-
+-inline void operator delete[] (void *buf)
+-{
+- sm_free(__FILE__, __LINE__, buf);
+-}
+-
+ #define Dmsg(context, level, ...) bfuncs->DebugMessage(context, __FILE__, __LINE__, level, __VA_ARGS__ )
+ #define Jmsg(context, type, ...) bfuncs->JobMessage(context, __FILE__, __LINE__, type, 0, __VA_ARGS__ )
+