diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/vsprintf.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/vsprintf.c b/src/core/vsprintf.c index cb3bec5dd..9d3a97c2d 100644 --- a/src/core/vsprintf.c +++ b/src/core/vsprintf.c @@ -257,11 +257,13 @@ size_t vcprintf ( struct printf_context *ctx, const char *fmt, va_list args ) { } else if ( *fmt == 's' ) { if ( length < &type_sizes[LONG_LEN] ) { ptr = va_arg ( args, char * ); + if ( ! ptr ) + ptr = "<NULL>"; } else { wptr = va_arg ( args, wchar_t * ); + if ( ! wptr ) + ptr = "<NULL>"; } - if ( ( ptr == NULL ) && ( wptr == NULL ) ) - ptr = "<NULL>"; } else if ( *fmt == 'p' ) { intptr_t ptrval; |
