libext2fs: fix dict_uint_cmp()
PATCH 1/1 libext2fs: fix dict_uint_cmp()
dict_uint_cmp() returns an usigned int value in int type, which could mess the dict key comparison when the difference of two keys is greater than INT_MAX.
Signed-off-by Niu Yawei <[email protected]>
--- lib/quota/mkquota.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
lib/quota/mkquota.c +6 -1
@@ -207,7 +207,12 @@ static int dict_uint_cmp(const void *a, const void *b) c =VOIDPTR_TO_UINT (a); d =VOIDPTR_TO_UINT (b); -return c - d; +if (c == d) +return 0 ; +else if (c > d) +return 1 ; +else +return -1 ; }static inline qid_t get_qid (struct ext2_inode *inode,int qtype)
Signature · 1 line
1.7.1
Theodore Ts'o
AppliedQuoted 5 lines · Niu Yawei
dict_uint_cmp()returns an usigned int value in int type, which could mess the dict key comparison when the difference of two keys is greater thanINT_MAX.Signed-off-by Niu Yawei <[email protected]>
Applied, thanks!
- Ted