From: Gal Salomon Date: Tue, 30 Jul 2024 16:08:44 +0000 (+0300) Subject: option for resolution of valgrind:InvalidRead. verifying the length of string X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c99da1cea73606993bed4b8b0f9e58ed90fa38a8;p=ceph.git option for resolution of valgrind:InvalidRead. verifying the length of string Signed-off-by: Gal Salomon --- diff --git a/src/rgw/rgw_s3select.cc b/src/rgw/rgw_s3select.cc index e2e88dfae30..d30fac1e457 100644 --- a/src/rgw/rgw_s3select.cc +++ b/src/rgw/rgw_s3select.cc @@ -807,6 +807,11 @@ int RGWSelectObj_ObjStore_S3::parquet_processing(bufferlist& bl, off_t ofs, off_ } append_in_callback += it.length(); ldout(s->cct, 10) << "S3select: part " << part_no++ << " it.length() = " << it.length() << dendl; + if ((ofs + len) > it.length()){ + ldpp_dout(this, 10) << "s3select: offset and length may cause invalid read: ofs = " << ofs << " len = " << len << " it.length() = " << it.length() << dendl; + ofs = 0; + len = it.length(); + } requested_buffer.append(&(it)[0]+ofs, len); } ldout(s->cct, 10) << "S3select:append_in_callback = " << append_in_callback << dendl;