diff options
Diffstat (limited to 'libglusterfs/src')
| -rw-r--r-- | libglusterfs/src/common-utils.c | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index c37a876dfc6..eafa72dea95 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -1441,6 +1441,11 @@ gf_string2bytesize (const char *str, uint64_t *n)                          return -1;          } +        if ((UINT64_MAX - value) < 0) { +                errno = ERANGE; +                return -1; +        } +          *n = (uint64_t) value;          return 0; @@ -1501,8 +1506,8 @@ gf_string2percent_or_bytesize (const char *str,          }          /* Error out if we cannot store the value in uint64 */ -        if (value > UINT64_MAX) { -                errno = EOVERFLOW; +        if ((UINT64_MAX - value) < 0) { +                errno = ERANGE;                  return -1;          }  | 
