NIM: khcint_remove_space() frees memory too soon
authorJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 24 Aug 2007 14:47:30 +0000 (14:47 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 24 Aug 2007 14:47:30 +0000 (14:47 +0000)
commita964ae7307a9add054349601ee00616594864283
treec2523d1724bfb6b239a3c300fca343c847bc97f3
parent4017a0abb47488ab9a45dfe34f888d4e981f391b
NIM: khcint_remove_space() frees memory too soon

The Network Identity Manager Configuration Provider module keeps track
of the application and plug-in configuration settings organized into
configuration spaces.  The state of each configuration space is
maintained in a reference counted object.  Once all the references are
released, the Configuration Provider will attempt to free the
resources allocated for the object.

If the configuration space was marked for deletion, then the registry
keys associated with the object need to be deleted when the
object is being discarded.  Due to a coding error, the memory
allocated for the object would be freed before the associated registry
keys were deleted.  This could result in a memory access error.

The patch corrects the code in khcint_remove_space() to free the
allocated memory after all the remaining clean-up steps have been
performed.

ticket: new
component: windows

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19865 dc483132-0cff-0310-8789-dd5450dbe970
src/windows/identity/kconfig/api.c