freebsd-ports/databases/mariadb103-server/files/patch-MDEV-15961
Bernard Spil 0cf3eca62d databases/mariadb103-server: Update to 10.3.10
- Fix build on aarch64 [1]
 - Not broken in i386 [2]
 - WSREP only on amd64

PR:		230682 [1], 230027 [2]
Submitted by:	Naram Qashat <cyberbotx cyberbotx com> [1]
Reported by:	<dewayne heuristicsystems com.au> [2]
Security:	909be51b-9b3b-11e8-add2-b499baebfeaf
MFH:		2018Q4
2018-10-25 15:59:36 +00:00

50 lines
1.1 KiB
Text

MDEV-15961: Fix stacktraces under FreeBSD
https://jira.mariadb.org/browse/MDEV-15961
--- mysys/stacktrace.c.orig 2018-07-02 07:34:11 UTC
+++ mysys/stacktrace.c
@@ -34,19 +34,19 @@
#include <execinfo.h>
#endif
+#ifdef __linux__
#define PTR_SANE(p) ((p) && (char*)(p) >= heap_start && (char*)(p) <= heap_end)
-
static char *heap_start;
-
-#if(defined HAVE_BSS_START) && !(defined __linux__)
extern char *__bss_start;
-#endif
+#else
+#define PTR_SANE(p) (p)
+#endif /* __linux */
void my_init_stacktrace()
{
-#if(defined HAVE_BSS_START) && !(defined __linux__)
+#ifdef __linux__
heap_start = (char*) &__bss_start;
-#endif
+#endif /* __linux__ */
}
#ifdef __linux__
@@ -149,15 +149,16 @@ static int safe_print_str(const char *ad
int my_safe_print_str(const char* val, size_t max_len)
{
+#ifdef __linux__
+/* Only needed by the linux version of PTR_SANE */
char *heap_end;
-#ifdef __linux__
// Try and make use of /proc filesystem to safely print memory contents.
if (!safe_print_str(val, max_len))
return 0;
-#endif
heap_end= (char*) sbrk(0);
+#endif
if (!PTR_SANE(val))
{