From: Theodore Ts'o Date: Wed, 1 May 2024 20:58:50 +0000 (-0400) Subject: libsupport: use explicit type widths instead of time_t X-Git-Tag: v1.47.1-wc1~134 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=1b9e68e0ff22933d1bab5defa761268e904daf28;p=tools%2Fe2fsprogs.git libsupport: use explicit type widths instead of time_t The in-memory data structures used time_t for the grace period (which is a delta timestamp denominated in seconds), as well as the soft limit expiration time (which is an actual time_t). Use an explicit __u32 for the former, and the __u64 for the latter. This silences a Coverity warning, but more importantly, using an explicit __u64 for the expiration time means that running e2fsck on a platform with a 32-bit time_t, and it needs to read and then modify a quota structure, we won't lose the high 32-bits of the quota expiration time. Addresses-Coverity-Bug: 1531824 Signed-off-by: Theodore Ts'o --- diff --git a/lib/support/quotaio.h b/lib/support/quotaio.h index 390f7dc..6152416 100644 --- a/lib/support/quotaio.h +++ b/lib/support/quotaio.h @@ -101,8 +101,8 @@ struct quotafile_ops; /* Generic information about quotafile */ struct util_dqinfo { - time_t dqi_bgrace; /* Block grace time for given quotafile */ - time_t dqi_igrace; /* Inode grace time for given quotafile */ + __u32 dqi_bgrace; /* Block grace time for given quotafile */ + __u32 dqi_igrace; /* Inode grace time for given quotafile */ union { struct v2_mem_dqinfo v2_mdqi; } u; /* Format specific info about quotafile */ @@ -137,8 +137,8 @@ struct util_dqblk { qsize_t dqb_bhardlimit; qsize_t dqb_bsoftlimit; qsize_t dqb_curspace; - time_t dqb_btime; - time_t dqb_itime; + __u64 dqb_btime; + __u64 dqb_itime; union { struct v2_mem_dqblk v2_mdqb; } u; /* Format specific dquot information */