diff --git a/src/common/ffile.cpp b/src/common/ffile.cpp index 0f479565d2..5efeec9f5c 100644 --- a/src/common/ffile.cpp +++ b/src/common/ffile.cpp @@ -125,6 +125,9 @@ bool wxFFile::ReadAll(wxString *str, const wxMBConv& conv) size_t wxFFile::Read(void *pBuf, size_t nCount) { + if ( !nCount ) + return 0; + wxCHECK_MSG( pBuf, 0, wxT("invalid parameter") ); wxCHECK_MSG( IsOpened(), 0, wxT("can't read from closed file") ); @@ -139,6 +142,9 @@ size_t wxFFile::Read(void *pBuf, size_t nCount) size_t wxFFile::Write(const void *pBuf, size_t nCount) { + if ( !nCount ) + return 0; + wxCHECK_MSG( pBuf, 0, wxT("invalid parameter") ); wxCHECK_MSG( IsOpened(), 0, wxT("can't write to closed file") ); diff --git a/src/common/file.cpp b/src/common/file.cpp index b2a5aca736..724da53382 100644 --- a/src/common/file.cpp +++ b/src/common/file.cpp @@ -325,6 +325,9 @@ bool wxFile::ReadAll(wxString *str, const wxMBConv& conv) // read ssize_t wxFile::Read(void *pBuf, size_t nCount) { + if ( !nCount ) + return 0; + wxCHECK( (pBuf != NULL) && IsOpened(), 0 ); ssize_t iRc = wxRead(m_fd, pBuf, nCount); @@ -341,6 +344,9 @@ ssize_t wxFile::Read(void *pBuf, size_t nCount) // write size_t wxFile::Write(const void *pBuf, size_t nCount) { + if ( !nCount ) + return 0; + wxCHECK( (pBuf != NULL) && IsOpened(), 0 ); ssize_t iRc = wxWrite(m_fd, pBuf, nCount);