]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: RGWRados::get_obj() returns wrong len if len == 0 3579/head
authorYehuda Sadeh <yehuda@redhat.com>
Wed, 5 Nov 2014 06:05:03 +0000 (22:05 -0800)
committerLoic Dachary <ldachary@redhat.com>
Mon, 2 Feb 2015 15:05:47 +0000 (16:05 +0100)
Fixes: #9877
We only updated if len was > 0, should update it if r >= 0. This was the
culprit for issue #9877.
Backport: giant, firefly

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit fe7bf06366adaf787816d1e68f5e3f68e8c91134)

src/rgw/rgw_rados.cc

index 1d05509d6c8bfe8565acd20d7111cec8ceb4c13a..709b8020d4dab356fd39969f84e4287eb5011092 100644 (file)
@@ -4689,7 +4689,7 @@ int RGWRados::get_obj(void *ctx, RGWObjVersionTracker *objv_tracker, void **hand
     bl.append(read_bl);
 
 done:
-  if (bl.length() > 0) {
+  if (r >= 0) {
     r = bl.length();
   }
   if (r < 0 || !len || ((off_t)(ofs + len - 1) == end)) {