[LTP] [PATCH v2] bin/ftest02: Fix negative lseek offset expression.
Steve Ellcey
sellcey@cavium.com
Thu Mar 2 17:52:53 CET 2017
Cast the result of sizeof to (off_t) so that we have a signed value
before we negate it. Otherwise we will get the wrong value in cases
where sizeof returns a 32 bit unsigned type and off_t is a 64 bit
signed type. This problem shows up on x86_64 when compiling with
-mx32.
This fixes LTP issue #135.
Signed-off-by: Steve Ellcey <sellcey@caviumnetworks.com>
---
testcases/kernel/fs/ftest/ftest02.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/testcases/kernel/fs/ftest/ftest02.c b/testcases/kernel/fs/ftest/ftest02.c
index f205961..a416a98 100644
--- a/testcases/kernel/fs/ftest/ftest02.c
+++ b/testcases/kernel/fs/ftest/ftest02.c
@@ -268,7 +268,7 @@ static void crfile(int me, int count)
val = write(fd, crmsg, sizeof(crmsg) - 1);
warn(val, "write", 0);
- val = lseek(fd, -(sizeof(crmsg) - 1), 1);
+ val = lseek(fd, -((off_t) sizeof(crmsg) - 1), 1);
warn(val, "lseek", 0);
val = read(fd, buf, sizeof(crmsg) - 1);
--
2.7.4
More information about the ltp
mailing list