diff options
author | Zhibin Li <08826794brmt@gmail.com> | 2018-07-12 17:32:12 +0800 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2018-07-15 18:51:09 +0000 |
commit | 7a4582e357d99d9d53a53f707f81033597758ee5 (patch) | |
tree | dd4f5b3378735e65c73a92875e8c75d1b894a068 /tests/quotactl-xfs.c | |
parent | f23ff6cebf0ca8177e3f10c49817397092936912 (diff) | |
download | strace-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.c | 14 |
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 */ |