Skip to content

MDB Tools 0.9.2

Choose a tag to compare

@evanmiller evanmiller released this 27 Feb 14:14
· 237 commits to dev since this release

MDB Tools 0.9.2 is a security and bug-fix release. Due to a number of memory errors uncovered by OSS-Fuzz, all users who use MDB Tools to read data from untrusted sources are encouraged to upgrade to 0.9.2 as soon as possible.

The release also includes some minor improvements and behavior changes, described below.

libmdb:

  • Fix infinite loop with malformed input (oss-fuzz/28789)
  • Fix buffer overrun and some out of bounds memory accesses (oss-fuzz/28832 + oss-fuzz/28807)
  • Fix potential memory leak (oss-fuzz/28791)
  • Improved bounds and return value checking (oss-fuzz/29328 + oss-fuzz/29329)
  • Add support for numeric scale/precision on JET3 databases and floating-point column types
  • mdb_col_to_string now prints a warning and returns "" for any unsupported data type
  • Improved warning with invalid row data (#253)

Command-line tools:

  • All CLI tools which accept string arguments are now locale-aware (#237)
  • All CLI tools now accept a --version argument (#232)
  • mdb-export: Fix issue where exported SQL field sizes were sometimes twice the necessary size (#112)
  • mdb-export: Improved handling of BLOBs (#250)
  • mdb-export: Implement a serial type and relations for MySQL (#257)
  • mdb-queries now has long option names --list, --newline, and --delimiter
  • mdb-schema: Exit with an error code if the requested table is not found

ODBC:

  • SQLBindCol now respects its TargetType (fCType) argument and converts bound data to the requested type (#23 #242)
  • SQLFetchCol now returns SQL_SUCCESS_WITH_INFO if a bound column was truncated, and SQL_ERROR if a bound value is out of range of the target type.
  • Fix handling of numeric types in ODBC driver (#255)

Build and documentation:

  • Updated man pages with new SQL features and correct MDBOPTS information (#203)
  • Add generated API documentation (#239)
  • Move HACKING to HACKING.md (with a relocation notice) and TODO to TODO.md
  • Fuzz-test all pull requests (#230)
  • Add -DHAVE_GLIB to library's pkg-config --cflags if needed (#254)