From b5b354a75b5e697e90892878ecb26459cb9a6a21 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin Date: Fri, 8 Aug 2014 16:42:50 +0400 Subject: [PATCH] LU-5417 lfs: fix comparison between signed and unsigned Expression if (size != (ssize_t)size) is always false. Therefore no bounds check errors detected. Signed-off-by: Dmitry Eremin Change-Id: Ib8fc68b2ddbb50ad50d80aa391c9bed6308ea575 Reviewed-on: http://review.whamcloud.com/11376 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: John L. Hammond Reviewed-by: Fan Yong Reviewed-by: Oleg Drokin --- lustre/include/lustre/lustre_user.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lustre/include/lustre/lustre_user.h b/lustre/include/lustre/lustre_user.h index 5754070..1b41dc3 100644 --- a/lustre/include/lustre/lustre_user.h +++ b/lustre/include/lustre/lustre_user.h @@ -1071,7 +1071,7 @@ static inline ssize_t hur_len(struct hsm_user_request *hur) (__u64)hur->hur_request.hr_itemcount * sizeof(hur->hur_user_item[0]) + hur->hur_request.hr_data_len; - if (size != (ssize_t)size) + if (size > ~((size_t)0)>>1) return -1; return size; -- 1.8.3.1