Skip to content
DataReel Software Development
  1. Home
  2. C++ API
  3. DataReel 6.1 Release Notes
C++ API

DataReel 6.1 Release Notes

DataReel 6.1 Release Notes, 10/25/2026

DataReel version 6.1 (was 6.0) DataReel Copyright (c) 2001-2026 DataReel Software Development

DataReel 6.1 is a security fix release. It fixes memory safety bugs found by a security review of the Encrypted Password Database, which uses the DataReel database engine. Every change in the source is marked with a "10/25/2026" comment.

The library version in version.txt is 6.1 and the shared library version (SHAREDLIB_VERSION in env/linux.env) is 6.1, so the Linux shared library is built as libdatareel.so.6.1. There are no interface changes from 6.0. Programs must be recompiled and relinked.

Security Fixes

  • gxBtree::ReadNode() read key_size * key_count bytes into the fixed key_entries buffer of a node, using the key count stored in the index file. A count larger than the node can hold overflowed the heap. Node key counts below 0 or above the node capacity are now rejected with gxDBASE_BADBLOCK_ERROR.
  • gxBtree::InitBtree() used the key size and node order stored in an existing index file without checking them. A stored key size that does not match the key type of the tree, or a node order out of range, is now rejected with gxDBASE_BAD_HEADER.
  • InfoHog::Read() trusted the member count and member lengths stored in the data file. A member count of 0 or above InfoHogMaxMembers, member lengths larger than the file, and a key member (member 0) whose length is not sizeof(TYPE) are now rejected. Callers cast member 0 to TYPE, so a short key member was read past its buffer.
  • InfoHog::GetMember(), GetMemberLen() and SetMember() checked index > num_members instead of index >= num_members, and accessed one element past the member array.

How The Changes Were Tested

  • Index files with a root node key count of 5000 and with a wrong key size in the B-tree header, which crashed programs built with 6.0 (heap corruption abort and segmentation fault), are rejected with an error by programs built with 6.1.
  • Unchanged database and index files read the same as with 6.0.

Supported Platforms

  • Linux: Red Hat Enterprise Linux 10 (the default build platform), RHEL 9 and RHEL 8. RHEL 6 and 7 are no longer supported. Linux builds use the operating system's OpenSSL.
  • Windows: Windows 11 and Windows Server 2022 and 2025, with Visual Studio 2022 or 2026. Older Windows releases are no longer supported. The Windows build is 64-bit by default; 32-bit builds are kept for legacy code only. Windows OpenSSL builds (USESSL=1) must use only an OpenSSL 3.5.x LTS release, see README_windows_openssl.txt. The default Windows SSL build uses the native Schannel API.
  • The readmes, makefile and ENV file comments and the HTML documentation set were updated to match. docs/README_windows_setup.html was regenerated from README_windows_setup.txt.
  • A stray prebuilt shared library binary was removed from build/ in the source tree.

DataReel Copyright (c) 2001-2026 DataReel Software Development