summaryrefslogtreecommitdiff
path: root/tests/quotactl-xfs.c
diff options
context:
space:
mode:
authorZhibin Li <08826794brmt@gmail.com>2018-07-12 17:32:12 +0800
committerDmitry V. Levin <ldv@altlinux.org>2018-07-15 18:51:09 +0000
commit7a4582e357d99d9d53a53f707f81033597758ee5 (patch)
treedd4f5b3378735e65c73a92875e8c75d1b894a068 /tests/quotactl-xfs.c
parentf23ff6cebf0ca8177e3f10c49817397092936912 (diff)
downloadstrace-7a4582e357d99d9d53a53f707f81033597758ee5.tar.gz
tests: use check_quota for invalid quotactl commands
Use check_quota function for invalid commands instead of manual quotactl syscall invocations. In this way successful injection can also be checked for these commands in the next commit. * tests/quotactl.c (main): Add invalid_cmd_str and invalid_id_str local variables, remove unused variable rc, use check_quota instead of manual quotactl syscall invocations. * tests/quotaclt.c (main): Add invalid_cmd_str variable, remove unused variable rc, use check_quota instead of manual quotactl syscall invocations.
Diffstat (limited to 'tests/quotactl-xfs.c')
-rw-r--r--tests/quotactl-xfs.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/tests/quotactl-xfs.c b/tests/quotactl-xfs.c
index 9955292b7..30d20c1be 100644
--- a/tests/quotactl-xfs.c
+++ b/tests/quotactl-xfs.c
@@ -207,7 +207,7 @@ main(void)
char bogus_addr_str[sizeof(void *) * 2 + sizeof("0x")];
char unterminated_str[sizeof(void *) * 2 + sizeof("0x")];
- long rc;
+ static char invalid_cmd_str[1024];
TAIL_ALLOC_OBJECT_CONST_PTR(struct fs_disk_quota, xdq);
TAIL_ALLOC_OBJECT_CONST_PTR(struct fs_quota_stat, xqstat);
TAIL_ALLOC_OBJECT_CONST_PTR(struct fs_quota_statv, xqstatv);
@@ -234,12 +234,12 @@ main(void)
"|XFS_QUOTA_GDQ_ACCT|XFS_QUOTA_GDQ_ENFD"
"|XFS_QUOTA_PDQ_ENFD|0xdeadbec0]");
- rc = syscall(__NR_quotactl, QCMD(Q_XQUOTAON, 0xfacefeed), bogus_dev,
- bogus_id, bogus_addr);
- printf("quotactl(QCMD(Q_XQUOTAON, %#x /* ???QUOTA */)"
- ", %s, %p) = %s\n",
- QCMD_TYPE(QCMD(Q_XQUOTAON, 0xfacefeed)),
- bogus_dev_str, bogus_addr, sprintrc(rc));
+ snprintf(invalid_cmd_str, sizeof(invalid_cmd_str),
+ "QCMD(Q_XQUOTAON, %#x /* ???QUOTA */)",
+ QCMD_TYPE(QCMD(Q_XQUOTAON, 0xfacefeed)));
+ check_quota(CQF_ID_SKIP,
+ QCMD(Q_XQUOTAON, 0xfacefeed), invalid_cmd_str,
+ bogus_dev, bogus_dev_str, bogus_addr);
/* Q_XQUOTAOFF */