X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=tools%2Fpatch%2Fpatches%2F001-fix-macos-vasnprintf.patch;fp=tools%2Fpatch%2Fpatches%2F001-fix-macos-vasnprintf.patch;h=e41315d34ec7d2462035c27c344215688b18c4f6;hb=25c045763a08a579feb6e42f9361edd1ca6333ae;hp=0000000000000000000000000000000000000000;hpb=569f74ef49bae9326a723050a400346686983d86;p=openwrt%2F.git diff --git a/tools/patch/patches/001-fix-macos-vasnprintf.patch b/tools/patch/patches/001-fix-macos-vasnprintf.patch new file mode 100644 index 0000000000..e41315d34e --- /dev/null +++ b/tools/patch/patches/001-fix-macos-vasnprintf.patch @@ -0,0 +1,25 @@ +--- a/lib/vasnprintf.c ++++ b/lib/vasnprintf.c +@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + #endif + *fbp = dp->conversion; + #if USE_SNPRINTF +-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) ++# if ! (((__GLIBC__ > 2 \ ++ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \ ++ && !defined __UCLIBC__) \ ++ || (defined __APPLE__ && defined __MACH__) \ ++ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) + fbp[1] = '%'; + fbp[2] = 'n'; + fbp[3] = '\0'; +@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + in format strings in writable memory may crash the program + (if compiled with _FORTIFY_SOURCE=2), so we should avoid it + in this situation. */ ++ /* macOS 10.13 High Sierra behaves like glibc with ++ _FORTIFY_SOURCE=2, and older macOS releases ++ presumably do not need %n. */ + /* On native Windows systems (such as mingw), we can avoid using + %n because: + - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,