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

Andreas Schwab schwab@suse.de
Mon Aug 1 14:46:13 GMT 2022


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


-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."


More information about the Libc-alpha mailing list