[LTP] [PATCH] Fix getcwd03 testcase by zeroing target buffer for readlink()

Helge Deller deller@gmx.de
Thu May 4 20:23:46 CEST 2017


According to the man(2) page of readlink(), a null byte is not appended to the
target buffer. So applications need to make sure that the target buffer is
zero-initialized, otherwise random bytes at the end of the returned string may
exist. 

This patch zero-initializes the on-stack char array "link" and thus fixes the
testcase failure of getcwd03 on the hppa/parisc architecture (and maybe others).

Signed-off-by: Helge Deller <deller@gmx.de>

--
 testcases/kernel/syscalls/getcwd/getcwd03.c |    1 +
 1 file changed, 1 insertion(+)


diff --git a/testcases/kernel/syscalls/getcwd/getcwd03.c b/testcases/kernel/syscalls/getcwd/getcwd03.c
index 4f8f872cf..ec1cacea9 100644
--- a/testcases/kernel/syscalls/getcwd/getcwd03.c
+++ b/testcases/kernel/syscalls/getcwd/getcwd03.c
@@ -74,6 +74,7 @@ static void verify_getcwd(void)
 	}
 
 	SAFE_CHDIR("..");
+	memset(link, 0, sizeof(link));
 	SAFE_READLINK(dir_link, link, sizeof(link));
 
 	if (strcmp(link, SAFE_BASENAME(res1))) {


More information about the ltp mailing list