summaryrefslogtreecommitdiff
path: root/vcl/generic
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-11-14 15:31:31 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-11-14 16:49:29 +0000
commit7d9b6119495bf1ca04cfe7b413cf165f347d0ec5 (patch)
tree2049562f04a9801e77ca5c8653fd9f8d76edbe71 /vcl/generic
parent5c4a9b1e2adf62a5805c02b20bfbcd62b3533e6d (diff)
coverity#706217 Time of check time of use
Change-Id: I762658a01e97f56b2f9362a38a0fefc941698d1b
Diffstat (limited to 'vcl/generic')
-rw-r--r--vcl/generic/fontmanager/parseAFM.cxx21
1 files changed, 9 insertions, 12 deletions
diff --git a/vcl/generic/fontmanager/parseAFM.cxx b/vcl/generic/fontmanager/parseAFM.cxx
index 24345d2c3e8a..13cdca73673b 100644
--- a/vcl/generic/fontmanager/parseAFM.cxx
+++ b/vcl/generic/fontmanager/parseAFM.cxx
@@ -112,24 +112,21 @@ class FileInputStream
}
};
-FileInputStream::FileInputStream( const char* pFilename ) :
- m_pMemory( NULL ),
- m_nPos( 0 ),
- m_nLen( 0 )
+FileInputStream::FileInputStream(const char* pFilename)
+ : m_pMemory(NULL)
+ , m_nPos(0)
+ , m_nLen(0)
{
- struct stat aStat;
- if( ! stat( pFilename, &aStat ) &&
- S_ISREG( aStat.st_mode ) &&
- aStat.st_size > 0
- )
+ FILE* fp = fopen( pFilename, "r" );
+ if( fp )
{
- FILE* fp = fopen( pFilename, "r" );
- if( fp )
+ struct stat aStat;
+ if (!fstat(fileno(fp), &aStat) && S_ISREG(aStat.st_mode) && aStat.st_size > 0)
{
m_pMemory = (char*)rtl_allocateMemory( aStat.st_size );
m_nLen = (unsigned int)fread( m_pMemory, 1, aStat.st_size, fp );
- fclose( fp );
}
+ fclose( fp );
}
}