]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
afs: fix memory leak
authorMarcio Barbosa <mbarbosa@sinenomine.net>
Thu, 3 Mar 2016 21:23:28 +0000 (18:23 -0300)
committerStephan Wiesand <stephan.wiesand@desy.de>
Wed, 17 Aug 2016 13:08:53 +0000 (09:08 -0400)
An error code is returned by afs_ProcessOpCreate if
this function can not allocate memory for ttargetName.

This function should release the memory previously
allocated for tname and decrement the reference count
of tdp as well.

Reviewed-on: https://gerrit.openafs.org/12208
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit bc123573539084ffc5a16ef1efaaaced5b2be202)

Change-Id: Ia5a09fe860b7a110ad55c111551702e20367ba1b
Reviewed-on: https://gerrit.openafs.org/12309
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
src/afs/afs_disconnected.c

index cfd5d632c0e99b54c6a5893070f9aae725a1f8a4..9198ed4d5bdecd4af278575f5b1a709e41b2947a 100644 (file)
@@ -702,7 +702,8 @@ afs_ProcessOpCreate(struct vcache *avc, struct vrequest *areq,
        ttargetName = afs_osi_Alloc(tlen);
        if (!ttargetName) {
            afs_PutDCache(tdc);
-           return ENOMEM;
+           code = ENOMEM;
+           goto end;
        }
        ObtainReadLock(&tdc->lock);
        tfile = afs_CFileOpen(&tdc->f.inode);