Rollback 25ecca7625 - there was no actual use-after-free :)
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
osd_op_t::~osd_op_t()
|
osd_op_t::~osd_op_t()
|
||||||
{
|
{
|
||||||
assert(!bs_op);
|
assert(!bs_op);
|
||||||
|
assert(!op_data);
|
||||||
if (bitmap_buf)
|
if (bitmap_buf)
|
||||||
{
|
{
|
||||||
free(bitmap_buf);
|
free(bitmap_buf);
|
||||||
@@ -22,10 +23,6 @@ osd_op_t::~osd_op_t()
|
|||||||
// So we don't reuse it, but free it every time
|
// So we don't reuse it, but free it every time
|
||||||
free(buf);
|
free(buf);
|
||||||
}
|
}
|
||||||
if (op_data)
|
|
||||||
{
|
|
||||||
free(op_data);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool osd_op_t::is_recovery_related()
|
bool osd_op_t::is_recovery_related()
|
||||||
|
|||||||
@@ -83,6 +83,8 @@ void osd_t::finish_op(osd_op_t *cur_op, int retval)
|
|||||||
rm_inflight(pg);
|
rm_inflight(pg);
|
||||||
}
|
}
|
||||||
assert(!cur_op->op_data->subops);
|
assert(!cur_op->op_data->subops);
|
||||||
|
free(cur_op->op_data);
|
||||||
|
cur_op->op_data = NULL;
|
||||||
}
|
}
|
||||||
cur_op->reply.hdr.magic = SECONDARY_OSD_REPLY_MAGIC;
|
cur_op->reply.hdr.magic = SECONDARY_OSD_REPLY_MAGIC;
|
||||||
cur_op->reply.hdr.id = cur_op->req.hdr.id;
|
cur_op->reply.hdr.id = cur_op->req.hdr.id;
|
||||||
|
|||||||
Reference in New Issue
Block a user