1feee8
commit 405b8ae13540e9fd614df614e3361ebf9abd14cf
1feee8
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
1feee8
Date:   Tue Jul 5 12:58:40 2022 -0300
1feee8
1feee8
    elf: Fix wrong fscanf usage on tst-pldd
1feee8
    
1feee8
    The fix done b2cd93fce666fdc8c9a5c64af2741a8a6940ac99 does not really
1feee8
    work since macro strification does not expand the sizeof nor the
1feee8
    arithmetic operation.
1feee8
    
1feee8
    Checked on x86_64-linux-gnu.
1feee8
    
1feee8
    (cherry picked from commit c353689e49e72f3aafa1a9e68d4f7a4f33a79cbe)
1feee8
1feee8
diff --git a/elf/tst-pldd.c b/elf/tst-pldd.c
1feee8
index 6e4174cbf95b15c0..d3ecb99149d619c6 100644
1feee8
--- a/elf/tst-pldd.c
1feee8
+++ b/elf/tst-pldd.c
1feee8
@@ -108,15 +108,16 @@ do_test (void)
1feee8
      loader and libc.  */
1feee8
   {
1feee8
     pid_t pid;
1feee8
-    char buffer[512];
1feee8
-#define STRINPUT(size) "%" # size "s"
1feee8
+#define BUFFERLEN 511
1feee8
+    char buffer[BUFFERLEN + 1];
1feee8
+#define STRINPUT(size)  XSTRINPUT(size)
1feee8
+#define XSTRINPUT(size) "%" # size "s"
1feee8
 
1feee8
     FILE *out = fmemopen (pldd.out.buffer, pldd.out.length, "r");
1feee8
     TEST_VERIFY (out != NULL);
1feee8
 
1feee8
     /* First line is in the form of <pid>: <full path of executable>  */
1feee8
-    TEST_COMPARE (fscanf (out, "%u: " STRINPUT (sizeof (buffer) - 1), &pid,
1feee8
-			  buffer), 2);
1feee8
+    TEST_COMPARE (fscanf (out, "%u: " STRINPUT (BUFFERLEN), &pid, buffer), 2);
1feee8
 
1feee8
     TEST_COMPARE (pid, *target_pid_ptr);
1feee8
     TEST_COMPARE (strcmp (basename (buffer), "tst-pldd"), 0);