From 8a5a3c7a20517c7482dc9f5f2783a3da54bd4f23 Mon Sep 17 00:00:00 2001 From: Dongmao Zhang Date: Fri, 14 Nov 2014 18:48:58 +0800 Subject: [PATCH] Fix libstriprados::stat, use strtoll insdead of strtol The return value(long int) of strict_strtol is too small for unstriped object. Signed-off-by: Dongmao Zhang (cherry picked from commit fe6679dca479fc24806d7e57ab0108a516cd6d55) --- src/libradosstriper/RadosStriperImpl.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libradosstriper/RadosStriperImpl.cc b/src/libradosstriper/RadosStriperImpl.cc index e1dbded402d4c..3b42541ea856f 100644 --- a/src/libradosstriper/RadosStriperImpl.cc +++ b/src/libradosstriper/RadosStriperImpl.cc @@ -529,7 +529,7 @@ int libradosstriper::RadosStriperImpl::stat(const std::string& soid, uint64_t *p std::string err; // this intermediate string allows to add a null terminator before calling strtol std::string strsize(bl.c_str(), bl.length()); - *psize = strict_strtol(strsize.c_str(), 10, &err); + *psize = strict_strtoll(strsize.c_str(), 10, &err); if (!err.empty()) { lderr(cct()) << XATTR_SIZE << " : " << err << dendl; return -EINVAL; -- 2.39.5