Avoid access violations, passing NULL to printf( "...%s..." ).

This commit is contained in:
Keith Marshall 2008-08-27 20:23:42 +00:00
parent 25687b0f76
commit 05a6cb1bb2
2 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,12 @@
2008-08-27 Keith Marshall <keithmarshall@users.sourceforge.net>
Avoid access violations, passing NULL to printf( "...%s..." );
(inconsistencency with MSVCRT and glibc, reported by Colin Harrison).
* mingwex/stdio/pformat.c (__pformat_puts): Substitute "(null)"
for argument value, if caller passes a NULL pointer.
(__pformat_wcputs): Likewise, substitute L"(null)".
2008-08-14 Keith Marshall <keithmarshall@users.sourceforge.net>
Add missing dependencies for building libmingwex.a.

View File

@ -356,8 +356,10 @@ void __pformat_puts( const char *s, __pformat_t *stream )
* to the `__pformat()' output stream.
*
* This is implemented as a trivial call to `__pformat_putchars()',
* passing the length of the input string as the character count.
* passing the length of the input string as the character count,
* (after first verifying that the input pointer is not NULL).
*/
if( s == NULL ) s = "(null)";
__pformat_putchars( s, strlen( s ), stream );
}
@ -434,8 +436,10 @@ void __pformat_wcputs( const wchar_t *s, __pformat_t *stream )
* the input string, to the `__pformat()' output stream.
*
* This is implemented as a trivial call to `__pformat_wputchars()',
* passing the length of the input string as the character count.
* passing the length of the input string as the character count,
* (after first verifying that the input pointer is not NULL).
*/
if( s == NULL ) s = L"(null)";
__pformat_wputchars( s, wcslen( s ), stream );
}