diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2014-05-07 09:30:35 -0400 |
---|---|---|
committer | Tony Cook <tony@develop-help.com> | 2014-05-29 14:46:52 +1000 |
commit | 0a20f69bae04ff02616da2f0128de4e842151093 (patch) | |
tree | 6b1eabaea3b4073cd87bcedbbcafa8809c4c82c5 /perlio.c | |
parent | 0d3bd0a9e4912968103ee87e4bb695080725fbf8 (diff) | |
download | perl-0a20f69bae04ff02616da2f0128de4e842151093.tar.gz |
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.
Diffstat (limited to 'perlio.c')
-rw-r--r-- | perlio.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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; |