]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: RGWRados::get_obj() returns wrong len if len == 0 2859/head
authorYehuda Sadeh <yehuda@redhat.com>
Wed, 5 Nov 2014 06:05:03 +0000 (22:05 -0800)
committerYehuda Sadeh <yehuda@redhat.com>
Wed, 5 Nov 2014 06:05:03 +0000 (22:05 -0800)
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>
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)) {