From 3f938315adc08936024eb86678745dd85d2a092d Mon Sep 17 00:00:00 2001 From: Simon Wilkinson Date: Sun, 23 Oct 2011 16:38:13 +0100 Subject: [PATCH] dir: Don't leak a buffer on a failed Enumerate If, for some reasons, Enumerate encounters a hash object with a NULL buffer pointer, that's no reason to leak the hash object. Make sure that we DRelease it before failing Change-Id: I9ba6c69ca524937a6068d33a0ec0a90eef5b88ea Reviewed-on: http://gerrit.openafs.org/5659 Reviewed-by: Derrick Brashear Tested-by: BuildBot --- src/dir/dir.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/dir/dir.c b/src/dir/dir.c index 521145b195..4e7a84401c 100644 --- a/src/dir/dir.c +++ b/src/dir/dir.c @@ -433,8 +433,10 @@ afs_dir_EnumerateDir(dir_file_t dir, int (*proc) (void *, char *name, goto out; ep = (struct DirEntry *)entrybuf.data; - if (!ep) + if (!ep) { + DRelease(&entrybuf, 0); break; + } num = ntohs(ep->next); code = (*proc) (hook, ep->name, ntohl(ep->fid.vnode),