Issue 8238 - mdb_cursor_put() returns inconsistent xcursor
Summary: mdb_cursor_put() returns inconsistent xcursor
Status: VERIFIED FIXED
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: slapd (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-06 15:11 UTC by Hallvard Furuseth
Modified: 2015-11-30 18:27 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Hallvard Furuseth 2015-09-06 15:11:33 UTC
Full_Name: Hallvard B Furuseth
Version: LMDB 0.9.16
OS: Linux x86_64
URL: ftp://ftp.openldap.org/incoming/Hallvard-Furuseth-150906.diff
Submission from: (NULL) (81.191.45.5)
Submitted by: hallvard


Replace printf("oops!\n") with mdb_cassert(mc, 0) in cursor_chk().
Add
	if (!rc && mc->mc_xcursor)
		mdb_cursor_chk(&mc->mc_xcursor->mx_cursor);
just before mdb_cursor_put() returns rc above "bad_sub:".
Diff for this enclosed.

$ make -s clean test CPPFLAGS="-DMDB_DEBUG"
$ ./mtest4
mdb.c:1500: Assertion '0' failed in mdb_cursor_chk()

Comment 1 OpenLDAP project 2015-11-04 18:13:07 UTC
fixed in mdb.master, mdb.RE/0.9
Comment 2 Howard Chu 2015-11-04 18:13:07 UTC
changed notes
changed state Open to Test
moved from Incoming to Software Bugs
Comment 3 Quanah Gibson-Mount 2015-11-30 18:27:58 UTC
changed state Test to Closed