diff mbox series

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

Message ID mvm35eghvii.fsf@suse.de
State New
Headers show
Series Don't use unsupported format string in ld.so (bug 29427) | expand

Commit Message

Andreas Schwab Aug. 1, 2022, 2:46 p.m. UTC
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(-)

Comments

Florian Weimer Aug. 1, 2022, 3:49 p.m. UTC | #1
* 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
diff mbox series

Patch

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);
     }
 }