Commit 20319dd6 authored by Martin Blix Grydeland's avatar Martin Blix Grydeland

Fix missing clearing of oc->busyobj on HSH_Fail.

The oc's busyobj isn't cleared in HSH_Fail (like it is in HSH_Complete).
This allows a thread to get a pointer to an already free'd busyobj.

Fixes: #1467
parent d1e3ff9a
......@@ -790,6 +790,7 @@ vbf_fetch_thread(struct worker *wrk, void *priv)
assert(uu == bo->fetch_obj->len);
}
}
AZ(bo->fetch_objcore->busyobj);
if (bo->ims_obj != NULL)
(void)HSH_DerefObj(&wrk->stats, &bo->ims_obj);
......
......@@ -642,6 +642,7 @@ HSH_Fail(struct objcore *oc)
Lck_Lock(&oh->mtx);
oc->flags |= OC_F_FAILED;
oc->busyobj = NULL;
Lck_Unlock(&oh->mtx);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment