]> git.ipfire.org Git - thirdparty/krb5.git/commit
Improve ulog memory hygiene 803/head
authorGreg Hudson <ghudson@mit.edu>
Thu, 28 Jun 2018 04:15:11 +0000 (00:15 -0400)
committerGreg Hudson <ghudson@mit.edu>
Fri, 29 Jun 2018 21:19:49 +0000 (17:19 -0400)
commit7aff2511c0dab5c51b1155ca2952521ffb925fc5
tree3460aaa24807952cc2004a7f82212184d385f281
parent396c736c0add2e13f4a9aaaefc9c86445b701953
Improve ulog memory hygiene

Add a helper create_log_context() to initialize a krb5_context's
kdblog_context field, setting ulogfd to -1.  Use it in ulog_set_role()
and ulog_map().  In ulog_fini(), release ulogfd if it is not -1.

In ulog_map(), add a cleanup label and use it to finalize the log
context on failure, so that we don't (trivially) leak the mapped ulog.
To reduce the number of "retval = errno;" statements required for this
change, make extend_file_to() return a krb5_error_code.

The ulog leak on error was reported by Bean Zhang.

ticket: 8707
src/lib/kdb/kdb_log.c
src/slave/kproplog.c