diff options
author | Werner Koch <[email protected]> | 2016-07-01 12:42:18 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-07-01 14:27:43 +0000 |
commit | 6446a6b3dfd3b2e68b4285870f902ed1f86b0866 (patch) | |
tree | b94e5b024156581443e5953adce058d22e29375f | |
parent | common: Annotate semi-static allocation. (diff) | |
download | gnupg-6446a6b3dfd3b2e68b4285870f902ed1f86b0866.tar.gz gnupg-6446a6b3dfd3b2e68b4285870f902ed1f86b0866.zip |
common: Smart up register_mem_cleanup_func.
* common/init.c (register_mem_cleanup_func): Avoid double registration.
Signed-off-by: Werner Koch <[email protected]>
-rw-r--r-- | common/init.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/common/init.c b/common/init.c index c68a4e631..c406ffe58 100644 --- a/common/init.c +++ b/common/init.c @@ -106,6 +106,10 @@ register_mem_cleanup_func (void (*func)(void)) { mem_cleanup_item_t item; + for (item = mem_cleanup_list; item; item = item->next) + if (item->func == func) + return; /* Function has already been registered. */ + item = malloc (sizeof *item); if (item) { |