提交 30c6a3bd 创建 作者: David Benjamin's avatar David Benjamin

Don't crash in radix_range::replace if val is NULL

Fixes crash when running mapbench.
上级 2ca11e63
...@@ -97,7 +97,8 @@ radix_range::replace(u64 start, u64 size, radix_elem *val) ...@@ -97,7 +97,8 @@ radix_range::replace(u64 start, u64 size, radix_elem *val)
void* cur = v->ptr().load(); void* cur = v->ptr().load();
while (!v->ptr().cmpxch_update(&cur, val)) while (!v->ptr().cmpxch_update(&cur, val))
; // spin ; // spin
val->incref(); if (val)
val->incref();
if (cur) if (cur)
((radix_elem*) cur)->decref(); ((radix_elem*) cur)->decref();
}, true)) { }, true)) {
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论