Whamcloud - gitweb
LU-5417 lfs: fix comparison between signed and unsigned 76/11376/3
authorDmitry Eremin <dmitry.eremin@intel.com>
Fri, 8 Aug 2014 12:42:50 +0000 (16:42 +0400)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 25 Aug 2014 04:23:42 +0000 (04:23 +0000)
Expression if (size != (ssize_t)size) is always false.
Therefore no bounds check errors detected.

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: Ib8fc68b2ddbb50ad50d80aa391c9bed6308ea575
Reviewed-on: http://review.whamcloud.com/11376
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/include/lustre/lustre_user.h

index 5754070..1b41dc3 100644 (file)
@@ -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;
 
                (__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;
                return -1;
 
        return size;