summaryrefslogtreecommitdiffstats
path: root/libc
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2013-10-11 23:28:31 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-10-11 23:28:32 +0000
commitabeafbd6d5e11044dd305e48134bc3d84319a3da (patch)
treec0e6452c976d21af6255aa817d5154deab0e7ddc /libc
parent8704ada3d8fae067ed48c2b6da5a1ba4ab062e1a (diff)
parent6e38072addd556e3894284b5bd040ac64fffa72e (diff)
downloadbionic-abeafbd6d5e11044dd305e48134bc3d84319a3da.zip
bionic-abeafbd6d5e11044dd305e48134bc3d84319a3da.tar.gz
bionic-abeafbd6d5e11044dd305e48134bc3d84319a3da.tar.bz2
Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors."
Diffstat (limited to 'libc')
-rw-r--r--libc/include/stdio.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/libc/include/stdio.h b/libc/include/stdio.h
index 23fc944..a13cfea 100644
--- a/libc/include/stdio.h
+++ b/libc/include/stdio.h
@@ -469,7 +469,8 @@ int vsprintf(char *dest, const char *format, __va_list ap)
}
#if defined(__clang__)
-#define snprintf(dest, size, ...) __builtin___snprintf_chk(dest, size, 0, __bos(dest), __VA_ARGS__)
+#define __wrap_snprintf(dest, size, ...) __builtin___snprintf_chk(dest, size, 0, __bos(dest), __VA_ARGS__)
+#define snprintf(...) __wrap_snprintf(__VA_ARGS__)
#else
__BIONIC_FORTIFY_INLINE
__printflike(3, 4)
@@ -481,7 +482,8 @@ int snprintf(char *dest, size_t size, const char *format, ...)
#endif
#if defined(__clang__)
-#define sprintf(dest, ...) __builtin___sprintf_chk(dest, 0, __bos(dest), __VA_ARGS__)
+#define __wrap_sprintf(dest, ...) __builtin___sprintf_chk(dest, 0, __bos(dest), __VA_ARGS__)
+#define sprintf(...) __wrap_sprintf(__VA_ARGS__)
#else
__BIONIC_FORTIFY_INLINE
__printflike(2, 3)