From 5e7446595e442b9384e77df8dd18daacf2a2697a Mon Sep 17 00:00:00 2001 From: Michael Meffie Date: Fri, 16 Nov 2018 10:00:17 -0500 Subject: [PATCH] auth: plug auth realms memory leaks The function _afsconf_FreeRealms, called by afsconf_CloseInternal, leaks two afsconf_realms structures. The function _afsconf_LoadRealms also leaks those two structures when it fails. These memory leaks were discovered with valgrind. Reviewed-on: https://gerrit.openafs.org/13395 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Reviewed-by: Mark Vitale (cherry picked from commit 80ed9d98779135d43f23c9e51e7bd6bce36405f1) Change-Id: I3e4824e2be4a22b62c1e9502860b952db777cae7 Reviewed-on: https://gerrit.openafs.org/13900 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Mark Vitale Reviewed-by: Marcio Brito Barbosa Reviewed-by: Yadavendra Yadav Tested-by: BuildBot Reviewed-by: Stephan Wiesand --- src/auth/realms.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/auth/realms.c b/src/auth/realms.c index db5fd31b8..6508047ad 100644 --- a/src/auth/realms.c +++ b/src/auth/realms.c @@ -411,11 +411,13 @@ _afsconf_FreeRealms(struct afsconf_dir *dir) if (dir->local_realms) { destroy_tree(dir->local_realms); free_realm_entries(&dir->local_realms->list); + free(dir->local_realms); dir->local_realms = NULL; } if (dir->exclusions) { destroy_tree(dir->exclusions); free_realm_entries(&dir->exclusions->list); + free(dir->exclusions); dir->exclusions = NULL; } } @@ -485,10 +487,12 @@ _afsconf_LoadRealms(struct afsconf_dir *dir) if (local_realms) { destroy_tree(local_realms); free_realm_entries(&local_realms->list); + free(local_realms); } if (exclusions) { destroy_tree(dir->exclusions); free_realm_entries(&exclusions->list); + free(exclusions); } return code; } -- 2.39.5