Fix for failure when committing a txn that is a child of
some parent txn.
}
x = dst[0].mid;
for (; y<=src[0].mid; y++) {
- if (++x >= MDB_IDL_UM_MAX)
+ if (++x >= MDB_IDL_UM_MAX) {
+ mdb_txn_abort(txn);
return ENOMEM;
+ }
dst[x] = src[y];
}
dst[0].mid = x;
* <li>EINVAL - an invalid parameter was specified.
* <li>ENOSPC - no more disk space.
* <li>EIO - a low-level I/O error occurred while writing.
+ * <li>ENOMEM - the transaction is nested and could not be merged into its parent.
* </ul>
*/
int mdb_txn_commit(MDB_txn *txn);