loader: Minor fix to module registration.
authorCorey Farrell <git@cfware.com>
Wed, 22 Nov 2017 02:34:56 +0000 (21:34 -0500)
committerCorey Farrell <git@cfware.com>
Thu, 14 Dec 2017 23:44:48 +0000 (18:44 -0500)
commit80bf0ee99ad963b1ff66aea379a1c291edfb869b
treeec381682f90e0ef79a78d6d7c8e2cb6d1ae3be54
parent30658e714358a931086740b77f31d13a12c89efd
loader: Minor fix to module registration.

This protects the module loader itself against crashing if dlopen is
called on a module from outside loader.c.

* Expand scope of lock inside ast_module_register to include reading of
  resource_being_loaded.
* NULL check resource_being_loaded.
* Set resource_being_loaded NULL as soon as dlopen returns.  This fixes
  some error paths where it was not NULL'ed.
* Create module_destroy function to deduplicate code from
  ast_module_unregister and modules_shutdown.
* Resolve leak that occured if a module did not successfully register.
* Simplify checking for successful registration.

Change-Id: I40f07a315e55b92df4fc7faf525ed6d4f396e7d2
main/loader.c