krb5 commit: Fix glob memory leak in GSS initialization
Greg Hudson
ghudson at MIT.EDU
Thu Aug 7 15:07:40 EDT 2014
https://github.com/krb5/krb5/commit/20f91672568b1d2e341a9bb0dba88a831f152f1c
commit 20f91672568b1d2e341a9bb0dba88a831f152f1c
Author: Greg Hudson <ghudson at mit.edu>
Date: Mon Aug 4 23:34:32 2014 -0400
Fix glob memory leak in GSS initialization
In loadConfigFiles, call globfree even if glob fails, since glob can
allocate memory and report partial results on failure. Also
initialize globbuf before calling glob; this is not strictly required,
but hedges against hypothetical libc implementation bugs which could
leave globbuf.gl_pathc or globbuf.gl_pathv uninitialized on error.
ticket: 7981
src/lib/gssapi/mechglue/g_initialize.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/lib/gssapi/mechglue/g_initialize.c b/src/lib/gssapi/mechglue/g_initialize.c
index 85810a9..2987164 100644
--- a/src/lib/gssapi/mechglue/g_initialize.c
+++ b/src/lib/gssapi/mechglue/g_initialize.c
@@ -437,11 +437,12 @@ loadConfigFiles()
load_if_changed(MECH_CONF, g_confFileModTime, &highest);
+ memset(&globbuf, 0, sizeof(globbuf));
if (glob(MECH_CONF_PATTERN, 0, NULL, &globbuf) == 0) {
for (path = globbuf.gl_pathv; *path != NULL; path++)
load_if_changed(*path, g_confFileModTime, &highest);
- globfree(&globbuf);
}
+ globfree(&globbuf);
g_confFileModTime = highest;
}
More information about the cvs-krb5
mailing list