|
@@ -224,6 +224,18 @@ extern INLINE double U64_TO_DBL(uint64_t x) {
|
|
|
#define strncasecmp _strnicmp
|
|
|
#define strcasecmp _stricmp
|
|
|
#endif
|
|
|
+
|
|
|
+#if defined __APPLE__
|
|
|
+/* On OSX 10.9 and later, the overlap-checking code for strlcat would
|
|
|
+ * appear to have a severe bug that can sometimes cause aborts in Tor.
|
|
|
+ * Instead, use the non-checking variants. This is sad.
|
|
|
+ *
|
|
|
+ * See https://trac.torproject.org/projects/tor/ticket/15205
|
|
|
+ */
|
|
|
+#undef strlcat
|
|
|
+#undef strlcpy
|
|
|
+#endif
|
|
|
+
|
|
|
#ifndef HAVE_STRLCAT
|
|
|
size_t strlcat(char *dst, const char *src, size_t siz) ATTR_NONNULL((1,2));
|
|
|
#endif
|