Two leaks and one stack overflow.
The forest-kvstore code should use dynamic_cast (like couch-kvstore)
else when the incoming callback is not a RememberingCallback, we will
access outside of the incoming object.
ep_testsuite has a leak in tap code where we must release items
during iteration.
Change-Id: If0db9e936ee141299c5a579235e828c7309b8118
Reviewed-on: http://review.couchbase.org/68106
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: buildbot <build@couchbase.com>
bool fetchDelete) {
fdb_file_handle *dbFileHandle = (fdb_file_handle *)dbHandle;
RememberingCallback<GetValue> *rc =
- static_cast<RememberingCallback<GetValue> *>(&cb);
+ dynamic_cast<RememberingCallback<GetValue> *>(&cb);
bool getMetaOnly = rc && rc->val.isPartial();
GetValue rv;
fdb_kvs_handle *kvsHandle = NULL;
"Got CAS of -1 in TAP_MUTATION\n");
return FAIL;
}
-
+ h1->release(h, NULL, it);
testHarness.lock_cookie(cookie);
break;
}