From: Simon Wilkinson Date: Sun, 23 Oct 2011 15:38:13 +0000 (+0100) Subject: dir: Don't leak a buffer on a failed Enumerate X-Git-Tag: upstream/1.8.0_pre1^2~3157 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=3f938315adc08936024eb86678745dd85d2a092d;p=packages%2Fo%2Fopenafs.git 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 --- diff --git a/src/dir/dir.c b/src/dir/dir.c index 521145b19..4e7a84401 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),