]> git.ipfire.org Git - thirdparty/krb5.git/commit
Add finalization safety check to com_err 1048/head
authorJiri Sasek <Jiri.Sasek@Oracle.COM>
Fri, 13 Mar 2020 18:02:58 +0000 (19:02 +0100)
committerGreg Hudson <ghudson@mit.edu>
Wed, 25 Mar 2020 23:50:19 +0000 (19:50 -0400)
commit9d654aa05e26bbf22f140abde3436afeff2fdf8d
treeea2fd1f20a75d390e6ad6a3dd465d54e4019d7b4
parentdb76b683f1311d6dce61feed21eb1487dce6bd74
Add finalization safety check to com_err

If the linker erroneously runs the libkrb5 finalizer after the
libcom_err finalizer, the consequent remove_error_table() calls could
crash due to accessing a destroyed mutex or an invalid et_list
pointer.  Add an unsynchronized check on finalized in
remove_error_table(), and set et_list to null in com_err_terminate()
after destroying the list.

[ghudson@mit.edu: minimized code hanges; rewrote comment and commit
message]

ticket: 8890 (new)
src/util/et/error_message.c