diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-11-14 15:31:31 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-11-14 16:49:29 +0000 |
commit | 7d9b6119495bf1ca04cfe7b413cf165f347d0ec5 (patch) | |
tree | 2049562f04a9801e77ca5c8653fd9f8d76edbe71 /vcl/generic | |
parent | 5c4a9b1e2adf62a5805c02b20bfbcd62b3533e6d (diff) |
coverity#706217 Time of check time of use
Change-Id: I762658a01e97f56b2f9362a38a0fefc941698d1b
Diffstat (limited to 'vcl/generic')
-rw-r--r-- | vcl/generic/fontmanager/parseAFM.cxx | 21 |
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 ); } } |