diff options
author | dfr <dfr@FreeBSD.org> | 1998-09-11 08:45:32 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1998-09-11 08:45:32 +0000 |
commit | d26cf02da5527c859988f4aa4d577091790f011d (patch) | |
tree | 5ec11829723eed49bc3fb97c1b0305050e941d6a /sys/kern/link_aout.c | |
parent | dad2df585cf830423608e2027120a5a34082d64a (diff) | |
download | FreeBSD-src-d26cf02da5527c859988f4aa4d577091790f011d.zip FreeBSD-src-d26cf02da5527c859988f4aa4d577091790f011d.tar.gz |
Avoid a possible memory leak.
Diffstat (limited to 'sys/kern/link_aout.c')
-rw-r--r-- | sys/kern/link_aout.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/kern/link_aout.c b/sys/kern/link_aout.c index 13f2796..f46d570 100644 --- a/sys/kern/link_aout.c +++ b/sys/kern/link_aout.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: link_aout.c,v 1.10 1998/08/16 01:21:51 bde Exp $ + * $Id: link_aout.c,v 1.11 1998/08/16 04:19:03 jdp Exp $ */ #define FREEBSD_AOUT 1 @@ -240,7 +240,13 @@ load_dependancies(linker_file_t lf) */ if (name[0] != '/') { char* p; - filename = malloc(MAXPATHLEN, M_TEMP, M_WAITOK); + if (!filename) { + filename = malloc(MAXPATHLEN, M_TEMP, M_WAITOK); + if (!filename) { + error = ENOMEM; + goto out; + } + } p = lf->filename + strlen(lf->filename) - 1; while (p >= lf->filename && *p != '/') p--; |