diff options
| author | Tom Rini <[email protected]> | 2016-01-14 13:02:03 -0500 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2016-01-19 08:31:16 -0500 |
| commit | 947c626dc5bfbc232cc0f41d16fa213a885ad234 (patch) | |
| tree | 4d1f6443abd9dd3cb74ab5a8abb6f7e7a46d82cc /lib/vsprintf.c | |
| parent | 9c11135ce053904f4caadc27760f214425d9881a (diff) | |
vsprintf.c: Always enable CONFIG_SYS_VSNPRINTF
Enabling this function always removes some class of string saftey issues.
The size change here in general is about 400 bytes and this seems a reasonable
trade-off.
Cc: Peng Fan <[email protected]>
Cc: Peter Robinson <[email protected]>
Cc: Fabio Estevam <[email protected]>
Cc: Adrian Alonso <[email protected]>
Cc: Stefano Babic <[email protected]>
Cc: Hans de Goede <[email protected]>
Signed-off-by: Tom Rini <[email protected]>
Diffstat (limited to 'lib/vsprintf.c')
| -rw-r--r-- | lib/vsprintf.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 24167a135c0..874a2951f70 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -141,7 +141,6 @@ static noinline char *put_dec(char *buf, uint64_t num) #define SMALL 32 /* Must be 32 == 0x20 */ #define SPECIAL 64 /* 0x */ -#ifdef CONFIG_SYS_VSNPRINTF /* * Macro to add a new character to our output string, but only if it will * fit. The macro moves to the next character position in the output string. @@ -151,9 +150,6 @@ static noinline char *put_dec(char *buf, uint64_t num) *(str) = (ch); \ ++str; \ } while (0) -#else -#define ADDCH(str, ch) (*(str)++ = (ch)) -#endif static char *number(char *buf, char *end, u64 num, int base, int size, int precision, int type) @@ -441,13 +437,11 @@ static int vsnprintf_internal(char *buf, size_t size, const char *fmt, /* 't' added for ptrdiff_t */ char *end = buf + size; -#ifdef CONFIG_SYS_VSNPRINTF /* Make sure end is always >= buf - do we want this in U-Boot? */ if (end < buf) { end = ((void *)-1); size = end - buf; } -#endif str = buf; for (; *fmt ; ++fmt) { @@ -609,21 +603,16 @@ repeat: flags); } -#ifdef CONFIG_SYS_VSNPRINTF if (size > 0) { ADDCH(str, '\0'); if (str > end) end[-1] = '\0'; --str; } -#else - *str = '\0'; -#endif /* the trailing null byte doesn't count towards the total */ return str - buf; } -#ifdef CONFIG_SYS_VSNPRINTF int vsnprintf(char *buf, size_t size, const char *fmt, va_list args) { @@ -666,7 +655,6 @@ int scnprintf(char *buf, size_t size, const char *fmt, ...) return i; } -#endif /* CONFIG_SYS_VSNPRINT */ /** * Format a string and place it in a buffer (va_list version) |
