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