]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
lwp: Fix possible memory leak from scan-build
authorPat Riehecky <riehecky@fnal.gov>
Wed, 23 May 2018 20:42:09 +0000 (15:42 -0500)
committerStephan Wiesand <stephan.wiesand@desy.de>
Fri, 25 Jan 2019 14:37:58 +0000 (09:37 -0500)
It is possible for LWP_CreateProcess to return early. When it does, it
should free up any memory it allocated before leaving scope.

Reviewed-on: https://gerrit.openafs.org/13080
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 55013a111394052a0253c87a744d03dfabd1be75)

Change-Id: I9112d2039c7c58a707231568e2e84e0340407bac
Reviewed-on: https://gerrit.openafs.org/13122
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: PatRiehecky <jcpunk@gmail.com>
Reviewed-by: Joe Gorse <jhgorse@gmail.com>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
src/lwp/lwp.c

index 9cf84b9a6f82bc27494f4b6102a3b9300e4509e7..3ff9afc4bcdabb6562998b876950479b0bbb2cb7 100644 (file)
@@ -342,6 +342,7 @@ LWP_CreateProcess(void *(*ep) (void *), int stacksize, int priority, void *parm,
        if ((stackmemory = malloc(stacksize + 7)) == NULL)
 #endif /* !AFS_DARWIN_ENV */
        {
+           free(temp);
            Set_LWP_RC();
            return LWP_ENOMEM;
        }
@@ -353,6 +354,8 @@ LWP_CreateProcess(void *(*ep) (void *), int stacksize, int priority, void *parm,
 #endif /* !AFS_DARWIN_ENV */
 #endif
        if (priority < 0 || priority >= MAX_PRIORITIES) {
+           free(temp);
+           free(stackmemory);
            Set_LWP_RC();
            return LWP_EBADPRI;
        }