]> granicus.if.org Git - strace/commitdiff
Fix printing of invalid struct xfs_dqblk.d_flags
authorDmitry V. Levin <ldv@altlinux.org>
Mon, 16 May 2016 22:28:31 +0000 (22:28 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 16 May 2016 22:41:20 +0000 (22:41 +0000)
* quota.c (decode_cmd_data): Explicitly cast struct xfs_dqblk.d_flags
to uint8_t to avoid potential sign-extension bug when printing
invalid struct xfs_dqblk.d_flags.

quota.c

diff --git a/quota.c b/quota.c
index c73ac6d233f314c11a2ae33ef6bc81061fd32990..0a388b2a565893bf64353c44cf0b37fe61e2b989 100644 (file)
--- a/quota.c
+++ b/quota.c
@@ -317,7 +317,7 @@ decode_cmd_data(struct tcb *tcp, uint32_t cmd, unsigned long data)
                        tprintf("{version=%d, ", dq.d_version);
                        tprints("flags=");
                        printflags(xfs_dqblk_flags,
-                                  dq.d_flags, "XFS_???_QUOTA");
+                                  (uint8_t) dq.d_flags, "XFS_???_QUOTA");
                        tprintf(", fieldmask=%#x, ", dq.d_fieldmask);
                        tprintf("id=%u, ", dq.d_id);
                        tprintf("blk_hardlimit=%" PRIu64 ", ", dq.d_blk_hardlimit);