diff options
author | Elliott Hughes <enh@google.com> | 2014-05-05 21:49:22 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-05-05 21:49:22 +0000 |
commit | ad534985ec3e01d37d46c50caa562f6482f48347 (patch) | |
tree | bef8cd34c71d6154bef579013e3aaf25c02760e2 /libc | |
parent | 8ec21d9ded4c05744b3f9388bf824a508d7c95c2 (diff) | |
parent | e2341d08fa4a4e0c22056c410fd34d3f93e06017 (diff) | |
download | bionic-ad534985ec3e01d37d46c50caa562f6482f48347.zip bionic-ad534985ec3e01d37d46c50caa562f6482f48347.tar.gz bionic-ad534985ec3e01d37d46c50caa562f6482f48347.tar.bz2 |
Merge "Disable %n in printf and vfwprintf."
Diffstat (limited to 'libc')
-rw-r--r-- | libc/stdio/local.h | 1 | ||||
-rw-r--r-- | libc/upstream-openbsd/lib/libc/stdio/vfprintf.c | 6 | ||||
-rw-r--r-- | libc/upstream-openbsd/lib/libc/stdio/vfwprintf.c | 6 |
3 files changed, 11 insertions, 2 deletions
diff --git a/libc/stdio/local.h b/libc/stdio/local.h index 5fb2292..907fd21 100644 --- a/libc/stdio/local.h +++ b/libc/stdio/local.h @@ -102,6 +102,7 @@ extern int __sdidinit; #define FLOATING_POINT #define PRINTF_WIDE_CHAR #define SCANF_WIDE_CHAR +#define NO_PRINTF_PERCENT_N /* OpenBSD exposes these in <stdio.h>, but we only want them exposed to the implementation. */ __BEGIN_DECLS diff --git a/libc/upstream-openbsd/lib/libc/stdio/vfprintf.c b/libc/upstream-openbsd/lib/libc/stdio/vfprintf.c index 86b540e..7f8ff31 100644 --- a/libc/upstream-openbsd/lib/libc/stdio/vfprintf.c +++ b/libc/upstream-openbsd/lib/libc/stdio/vfprintf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfprintf.c,v 1.65 2014/03/19 05:17:01 guenther Exp $ */ +/* $OpenBSD: vfprintf.c,v 1.66 2014/05/03 12:36:45 deraadt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. * All rights reserved. @@ -801,6 +801,7 @@ fp_common: } break; #endif /* FLOATING_POINT */ +#ifndef NO_PRINTF_PERCENT_N case 'n': if (flags & LLONGINT) *GETARG(long long *) = ret; @@ -819,6 +820,7 @@ fp_common: else *GETARG(int *) = ret; continue; /* no output */ +#endif /* NO_PRINTF_PERCENT_N */ case 'O': flags |= LONGINT; /*FALLTHROUGH*/ @@ -1317,6 +1319,7 @@ reswitch: switch (ch) { ADDTYPE(T_DOUBLE); break; #endif /* FLOATING_POINT */ +#ifndef NO_PRINTF_PERCENT_N case 'n': if (flags & LLONGINT) ADDTYPE(TP_LLONG); @@ -1333,6 +1336,7 @@ reswitch: switch (ch) { else ADDTYPE(TP_INT); continue; /* no output */ +#endif /* NO_PRINTF_PERCENT_N */ case 'O': flags |= LONGINT; /*FALLTHROUGH*/ diff --git a/libc/upstream-openbsd/lib/libc/stdio/vfwprintf.c b/libc/upstream-openbsd/lib/libc/stdio/vfwprintf.c index 7cb08ea..745b4d9 100644 --- a/libc/upstream-openbsd/lib/libc/stdio/vfwprintf.c +++ b/libc/upstream-openbsd/lib/libc/stdio/vfwprintf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfwprintf.c,v 1.9 2014/03/19 05:17:01 guenther Exp $ */ +/* $OpenBSD: vfwprintf.c,v 1.10 2014/05/03 12:36:45 deraadt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. * All rights reserved. @@ -784,6 +784,7 @@ fp_common: } break; #endif /* FLOATING_POINT */ +#ifndef NO_PRINTF_PERCENT_N case 'n': if (flags & LLONGINT) *GETARG(long long *) = ret; @@ -802,6 +803,7 @@ fp_common: else *GETARG(int *) = ret; continue; /* no output */ +#endif /* NO_PRINTF_PERCENT_N */ case 'O': flags |= LONGINT; /*FALLTHROUGH*/ @@ -1296,6 +1298,7 @@ reswitch: switch (ch) { ADDTYPE(T_DOUBLE); break; #endif /* FLOATING_POINT */ +#ifndef NO_PRINTF_PERCENT_N case 'n': if (flags & LLONGINT) ADDTYPE(TP_LLONG); @@ -1312,6 +1315,7 @@ reswitch: switch (ch) { else ADDTYPE(TP_INT); continue; /* no output */ +#endif /* NO_PRINTF_PERCENT_N */ case 'O': flags |= LONGINT; /*FALLTHROUGH*/ |