From 0a20f69bae04ff02616da2f0128de4e842151093 Mon Sep 17 00:00:00 2001 From: Jarkko Hietaniemi Date: Wed, 7 May 2014 09:30:35 -0400 Subject: [PATCH] fd closes for failure paths. Fix for Coverity perl5 CIDs 29053, 29055, 29057: Resource leak (RESOURCE_LEAK) leaked_handle: Handle variable fd going out of scope leaks the handle. --- perlio.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/perlio.c b/perlio.c index f110759..aa9a932 100644 --- a/perlio.c +++ b/perlio.c @@ -2661,6 +2661,7 @@ PerlIOUnix_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, } if (!PerlIOValid(f)) { if (!(f = PerlIO_push(aTHX_ f, self, mode, PerlIOArg))) { + PerlLIO_close(fd); return NULL; } } @@ -2696,6 +2697,7 @@ PerlIOUnix_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags) PerlIOUnix_setfd(aTHX_ f, fd, os->oflags); return f; } + PerlLIO_close(fd); } return NULL; } @@ -3050,6 +3052,7 @@ PerlIOStdio_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, } return f; } + PerlLIO_close(fd); } } return NULL; -- 1.8.3.1