[PATCH] Don't use unsupported format string in ld.so (bug 29427)

Florian Weimer fweimer@redhat.com
Mon Aug 1 15:49:33 GMT 2022


* Andreas Schwab via Libc-alpha:

> There is no support for printf format strings that contain a literal field
> width or precision in the dynamic loader, they have to be specified
> indirectly.
> ---
>  elf/dl-diagnostics.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/elf/dl-diagnostics.c b/elf/dl-diagnostics.c
> index dd3871b1e0..269c428c93 100644
> --- a/elf/dl-diagnostics.c
> +++ b/elf/dl-diagnostics.c
> @@ -108,7 +108,7 @@ _dl_diagnostics_print_labeled_value (const char *label, uint64_t value)
>        if (high == 0)
>          _dl_printf ("%s=0x%x\n", label, low);
>        else
> -        _dl_printf ("%s=0x%x%08x\n", label, high, low);
> +        _dl_printf ("%s=0x%x%0*x\n", label, high, 8, low);
>      }
>  }
>  
> -- 
>
> 2.37.1

Looks okay to me.

Reviewed-by: Florian Weimer <fweimer@redhat.com>

Thanks,
Florian



More information about the Libc-alpha mailing list