msvcrt: Don't pass NULL as __ms_va_list in printf implementation

Marcus Meissner marcus at jet.franken.de
Wed May 11 07:54:07 CDT 2011


On Wed, May 11, 2011 at 12:20:51PM +0200, Piotr Caban wrote:
> ---
>  dlls/msvcrt/printf.h |    2 +-
>  dlls/msvcrt/wcs.c    |    4 ++--
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> 

> diff --git a/dlls/msvcrt/printf.h b/dlls/msvcrt/printf.h
> index 64d159e..53f35bc 100644
> --- a/dlls/msvcrt/printf.h
> +++ b/dlls/msvcrt/printf.h
> @@ -607,7 +607,7 @@ static int FUNC_NAME(create_positional_ctx)(void *args_ctx, const APICHAR *forma
>      int i, j;
>  
>      i = FUNC_NAME(pf_printf)(FUNC_NAME(puts_clbk_str), &puts_ctx, format, NULL, TRUE, FALSE,
> -            arg_clbk_type, args_ctx, NULL);
> +            arg_clbk_type, args_ctx, valist);

You should not process a va_list twice.  

You could va_copy() it to a second va_list if you need to do it twice.

Ciao, Marcus



More information about the wine-devel mailing list