]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Fix libstriprados::stat, use strtoll insdead of strtol 2929/head
authorDongmao Zhang <deanraccoon@gmail.com>
Fri, 14 Nov 2014 10:48:58 +0000 (18:48 +0800)
committerDongmao Zhang <deanraccoon@gmail.com>
Mon, 17 Nov 2014 06:49:52 +0000 (14:49 +0800)
The return value(long int) of strict_strtol is too small for unstriped
object.

Signed-off-by: Dongmao Zhang <deanraccoon@gmail.com>
src/libradosstriper/RadosStriperImpl.cc

index 297bfb9d3d19fc2b7040c1586f1b55c259f7b427..2ef94ad7b59cd71f92ea79d6d99690582ecdcf43 100644 (file)
@@ -542,7 +542,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;