From f114f9d03cc13a614c4691c6269780ec4b912656 Mon Sep 17 00:00:00 2001 From: Jennifer Averett Date: Tue, 5 Aug 2003 15:54:28 +0000 Subject: [PATCH] 2003-08-05 Till Strauman PR 442/filesystem * src/open.c: file never closed if ftruncate() fails in open() --- cpukit/libcsupport/ChangeLog | 5 +++++ cpukit/libcsupport/src/open.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/cpukit/libcsupport/ChangeLog b/cpukit/libcsupport/ChangeLog index 1a32899dcf..6dcca30aec 100644 --- a/cpukit/libcsupport/ChangeLog +++ b/cpukit/libcsupport/ChangeLog @@ -1,3 +1,8 @@ +2003-08-05 Till Strauman + + PR 442/filesystem + * src/open.c: file never closed if ftruncate() fails in open() + 2003-07-08 Joel Sherrill PR 419/rtems diff --git a/cpukit/libcsupport/src/open.c b/cpukit/libcsupport/src/open.c index f36f74d4ac..0f79d61a49 100644 --- a/cpukit/libcsupport/src/open.c +++ b/cpukit/libcsupport/src/open.c @@ -173,6 +173,12 @@ int open( if ( (flags & O_TRUNC) == O_TRUNC ) { rc = ftruncate( iop - rtems_libio_iops, 0 ); + if ( rc ) { + close( iop - rtems_libio_iops ); + /* those are released by close(): */ + iop = 0; + loc_to_free = NULL; + } } /*