Actions
Bug #63310
closeduse-after-move in OSDService::build_incremental_map_msg()
% Done:
0%
Source:
Tags:
backport_processed
Backport:
pacific quincy reef
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
OSD
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
The 'bl' variable is moved from, then accessed:
for (epoch_t e = since + 1; e <= to; ++e) {
bufferlist bl;
if (get_inc_map_bl(e, bl)) {
m->incremental_maps[e] = std::move(bl);
} else {
dout(10) << __func__ << " missing incremental map " << e << dendl;
if (!get_map_bl(e, bl)) {
derr << __func__ << " also missing full map " << e << dendl;
goto panic;
}
m->maps[e] = std::move(bl); // <<<--------------
}
max--;
max_bytes -= bl.length(); // <<<-------------
if (max <= 0 || max_bytes <= 0) {
break;
}
}
Actions