]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
m4: dovecot - Add --enable-msan
authorAki Tuomi <aki.tuomi@open-xchange.com>
Thu, 5 Mar 2026 08:27:40 +0000 (10:27 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Thu, 5 Mar 2026 08:56:18 +0000 (10:56 +0200)
m4/dovecot.m4

index 2b0920502faa5e3f4798481eefdfbfad3d5dfc14..64f0609b5160e58b13235f179354316ec3a6d811 100644 (file)
@@ -367,6 +367,7 @@ AC_DEFUN([DC_DOVECOT_HARDENING],[
         DC_FCF_PROTECTION
        DOVECOT_WANT_UBSAN
         DOVECOT_WANT_ASAN
+        DOVECOT_WANT_MSAN
 ])
 
 AC_DEFUN([DC_DOVECOT_FUZZER],[
@@ -682,3 +683,25 @@ AC_DEFUN([DOVECOT_WANT_ASAN], [
      san_flags=""
   ])
 ])
+
+AC_DEFUN([DOVECOT_WANT_MSAN], [
+  AC_ARG_ENABLE(msan,
+    AS_HELP_STRING([--enable-msan], [Enable memory sanitizer (default=no)]),
+                   [want_msan=yes], [want_msan=no])
+  AC_MSG_CHECKING([whether we want memory sanitizer])
+  AC_MSG_RESULT([$want_msan])
+  AS_IF([test x$want_msan = xyes], [
+     san_flags=""
+     gl_COMPILER_OPTION_IF([-fsanitize=memory], [
+             san_flags="$san_flags -fsanitize=memory"
+             AC_DEFINE([HAVE_FSANITIZE_MEMORY], [1], [Define if your compiler has -fsanitize=memory])
+     ])
+     AS_IF([test "$san_flags" != "" ], [
+       AM_CFLAGS="$AM_CFLAGS $san_flags -fno-omit-frame-pointer"
+       AC_DEFINE([HAVE_MEMORY_SANITIZER], [1], [Define if your compiler supports memory sanitizer])
+     ], [
+       AC_MSG_ERROR([No memory sanitizer support in your compiler])
+     ])
+     san_flags=""
+  ])
+])