projects
/
platform
/
upstream
/
lmdb.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d78c80d
)
ITS#7377 Catch mdb_cursor_sibling() error
author
Hallvard Furuseth
<hallvard@openldap.org>
Sat, 10 Dec 2016 21:00:31 +0000
(22:00 +0100)
committer
Hallvard Furuseth
<hallvard@openldap.org>
Sat, 10 Dec 2016 21:00:31 +0000
(22:00 +0100)
libraries/liblmdb/mdb.c
patch
|
blob
|
history
diff --git
a/libraries/liblmdb/mdb.c
b/libraries/liblmdb/mdb.c
index
5a3a829
..
42452c2
100644
(file)
--- a/
libraries/liblmdb/mdb.c
+++ b/
libraries/liblmdb/mdb.c
@@
-9548,7
+9548,7
@@
mdb_page_split(MDB_cursor *mc, MDB_val *newkey, MDB_val *newdata, pgno_t newpgno
} else {
/* find right page's left sibling */
mc->mc_ki[ptop] = mn.mc_ki[ptop];
- mdb_cursor_sibling(mc, 0);
+
rc =
mdb_cursor_sibling(mc, 0);
}
}
} else {
@@
-9557,6
+9557,8
@@
mdb_page_split(MDB_cursor *mc, MDB_val *newkey, MDB_val *newdata, pgno_t newpgno
mn.mc_top++;
}
if (rc != MDB_SUCCESS) {
+ if (rc == MDB_NOTFOUND) /* improper mdb_cursor_sibling() result */
+ rc = MDB_PROBLEM;
goto done;
}
if (nflags & MDB_APPEND) {