History log of /openbsd-current/usr.bin/mandoc/dbm.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.5 01-Jul-2019 schwarze

delete trailing whitespace and space-tab sequences; no code change;
patch from Michal Nowak <mnowak at startmail dot com>
who found these with git pbchk in the illumos tree


Revision tags: OPENBSD_6_5_BASE
# 1.4 04-Nov-2018 bluhm

lstmatch() expects a list of strings separated by \0 and terminated
with \0\0. In the NULL case dbm_page_get() returned only simple
strings so correct processing was depending on data layout. Use
an additional \0 to terminate the single string lists. Found by
mandoc regress since llvm linker on amd64 arranges strings differently.
OK schwarze@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.3 18-Oct-2016 schwarze

The termination condition of the iteration logic in page_bymacro()
was overzealous. Consequently, macro=substr and macro~regexp searches
only returned all pages containing the first matching macro value,
rather than all pages containing any of the matching macro values.
Bug reported by tb@ - thanks!


# 1.2 30-Aug-2016 schwarze

When the database is corrupt in the sense of containing invalid
pointers in the pages table, do not access NULL pointers, but
gracefully handle the errors.
Similar patches will be needed for the macro tables, too.
<attila at stalphonsos dot com> audited the code and pointed out to me
that dbm_get() can return NULL for corrupted databases, but that isn't
handled properly at various places.


# 1.1 01-Aug-2016 schwarze

Remove the dependency on SQLite without loss of functionality.
Drop the obsolete names_check() now that we deleted MLINKS.
Run "doas makewhatis" after compiling and installing this.

Earlier version tested by jmc@ and jturner@;
"commit it all" deraadt@ "commit and dodge" krw@


# 1.4 04-Nov-2018 bluhm

lstmatch() expects a list of strings separated by \0 and terminated
with \0\0. In the NULL case dbm_page_get() returned only simple
strings so correct processing was depending on data layout. Use
an additional \0 to terminate the single string lists. Found by
mandoc regress since llvm linker on amd64 arranges strings differently.
OK schwarze@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.3 18-Oct-2016 schwarze

The termination condition of the iteration logic in page_bymacro()
was overzealous. Consequently, macro=substr and macro~regexp searches
only returned all pages containing the first matching macro value,
rather than all pages containing any of the matching macro values.
Bug reported by tb@ - thanks!


# 1.2 30-Aug-2016 schwarze

When the database is corrupt in the sense of containing invalid
pointers in the pages table, do not access NULL pointers, but
gracefully handle the errors.
Similar patches will be needed for the macro tables, too.
<attila at stalphonsos dot com> audited the code and pointed out to me
that dbm_get() can return NULL for corrupted databases, but that isn't
handled properly at various places.


# 1.1 01-Aug-2016 schwarze

Remove the dependency on SQLite without loss of functionality.
Drop the obsolete names_check() now that we deleted MLINKS.
Run "doas makewhatis" after compiling and installing this.

Earlier version tested by jmc@ and jturner@;
"commit it all" deraadt@ "commit and dodge" krw@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.3 18-Oct-2016 schwarze

The termination condition of the iteration logic in page_bymacro()
was overzealous. Consequently, macro=substr and macro~regexp searches
only returned all pages containing the first matching macro value,
rather than all pages containing any of the matching macro values.
Bug reported by tb@ - thanks!


# 1.2 30-Aug-2016 schwarze

When the database is corrupt in the sense of containing invalid
pointers in the pages table, do not access NULL pointers, but
gracefully handle the errors.
Similar patches will be needed for the macro tables, too.
<attila at stalphonsos dot com> audited the code and pointed out to me
that dbm_get() can return NULL for corrupted databases, but that isn't
handled properly at various places.


# 1.1 01-Aug-2016 schwarze

Remove the dependency on SQLite without loss of functionality.
Drop the obsolete names_check() now that we deleted MLINKS.
Run "doas makewhatis" after compiling and installing this.

Earlier version tested by jmc@ and jturner@;
"commit it all" deraadt@ "commit and dodge" krw@