mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-23 13:33:28 +08:00
81e7806b93
This is bugfix release of stable libmdbx branch. The most significant fixes since v0.12.10 (the previous version pinned to buildroot): - Fixed the possibility of `SIGSEGV` inside the `coherence_check()` after changing the geometry by another process with an increase in the upper DB size above the previous in-process limit. - Fixed cursor(s) handling opened in parent transactions and closed before the completion of nested/child transactions. In such case, closed cursors were "resurrected", which led to a leak of memory allocated for such cursors. - Fixed a possibility of `SIGSEGV` when enabling logging of the `MDBX_LOG_TRACE` level in debug builds. - Correction of the missing `TXN_END_EOTDONE` in the case the start of a reading transaction fails. The mentioned bit-flag was missing in the transaction destruction/shutdown path on error its launch. Because of this, an attempt was made to destroy the cursors, which led to crash debug builds, since the corresponding array is intentionally filled with poison pointers. - Modification of `mdbx_close_by()` to return an error when trying to close the dbi descriptor of a table created and/or modified in a still-running transaction. Such premature closure of the descriptor is an incorrect use of the API and a violation of the contract/preconditions formulated in the description of `mdbx_close_dbi()`. However, instead of returning an error, an incorrect closure of the descriptor was performed, which could lead to the creation of a table with an empty name, leakage of database pages and/or corruption of a b-tree structure (wrong reference to the root of a table). The complete ChangeLog: https://gitflic.ru/project/erthink/libmdbx/blob?file=ChangeLog.md Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> |
||
---|---|---|
.. | ||
Config.in | ||
libmdbx.hash | ||
libmdbx.mk |