]> granicus.if.org Git - strace/commitdiff
tests: check short read of struct flock/flock64
authorZhibin Li <08826794brmt@gmail.com>
Wed, 30 May 2018 11:21:59 +0000 (19:21 +0800)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 1 Jun 2018 01:46:06 +0000 (01:46 +0000)
* tests/fcntl-common.c (test_flock_einval): Check short read
of struct flock.
(test_flock64_einval): Check short read of struct flock64.

tests/fcntl-common.c

index 92bf56c66c448c99e2aa8b2e2ed67ed0acada5bb..55e048c8786753d599bf2952dcadb13bd764bb4a 100644 (file)
@@ -70,6 +70,11 @@ test_flock_einval(const int cmd, const char *name)
        printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
               ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
               (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr);
+
+       void *const bad_addr = (void *) fl + 1;
+       invoke_test_syscall(0, cmd, bad_addr);
+       printf("%s(0, %s, %p) = %s\n",
+              TEST_SYSCALL_STR, name, bad_addr, errstr);
 }
 
 /*
@@ -89,6 +94,11 @@ test_flock64_einval(const int cmd, const char *name)
        printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
               ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
               (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr);
+
+       void *const bad_addr = (void *) fl + 1;
+       invoke_test_syscall(0, cmd, bad_addr);
+       printf("%s(0, %s, %p) = %s\n",
+              TEST_SYSCALL_STR, name, bad_addr, errstr);
 }
 
 static void