From: Jianpeng Ma Date: Thu, 9 Apr 2015 03:13:33 +0000 (+0800) Subject: librados: For WRITEFULL, check data length don't larger that limit. X-Git-Tag: v9.0.2~193^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4ed66a6519ea4060050ea9f6d6b158873d9706bc;p=ceph.git librados: For WRITEFULL, check data length don't larger that limit. Signed-off-by: Jianpeng Ma --- diff --git a/src/librados/IoCtxImpl.cc b/src/librados/IoCtxImpl.cc index 5ef56c0ec7fc..15ebc6fd8dc2 100644 --- a/src/librados/IoCtxImpl.cc +++ b/src/librados/IoCtxImpl.cc @@ -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);