afs: fix memory leak 08/12208/3
authorMarcio Barbosa <mbarbosa@sinenomine.net>
Thu, 3 Mar 2016 21:23:28 +0000 (18:23 -0300)
committerBenjamin Kaduk <kaduk@mit.edu>
Wed, 4 May 2016 23:38:49 +0000 (19:38 -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.

Change-Id: Ic771b1d57080df6ee562a7327762030afdd5b08c
Reviewed-on: https://gerrit.openafs.org/12208
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

src/afs/afs_disconnected.c

index a83d076..692dcbc 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);