]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
librados: For WRITEFULL, check data length don't larger that limit.
authorJianpeng Ma <jianpeng.ma@intel.com>
Thu, 9 Apr 2015 03:13:33 +0000 (11:13 +0800)
committerJianpeng Ma <jianpeng.ma@intel.com>
Thu, 9 Apr 2015 03:34:05 +0000 (11:34 +0800)
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
src/librados/IoCtxImpl.cc

index 5ef56c0ec7fcc81624854428315b2d2195acd40b..15ebc6fd8dc252efeadb28a26e46eee612d4f7f9 100644 (file)
@@ -468,6 +468,8 @@ int librados::IoCtxImpl::append(const object_t& oid, bufferlist& bl, size_t len)
 
 int librados::IoCtxImpl::write_full(const object_t& oid, bufferlist& bl)
 {
+  if (bl.length() > UINT_MAX/2)
+    return -E2BIG;
   ::ObjectOperation op;
   prepare_assert_ops(&op);
   op.write_full(bl);