fixed bug with seeking beyond the end in wxStringInputStream::OnSysSeek() triggered by unit test

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2004-09-19 21:49:41 +00:00
parent ba670bae4e
commit 5a4c7f718a

View File

@@ -38,6 +38,8 @@
off_t wxStringInputStream::OnSysSeek(off_t ofs, wxSeekMode mode)
{
const size_t ofsMax = m_str.length()*sizeof(wxChar);
switch ( mode )
{
case wxFromStart:
@@ -45,7 +47,7 @@ off_t wxStringInputStream::OnSysSeek(off_t ofs, wxSeekMode mode)
break;
case wxFromEnd:
ofs += m_str.length()*sizeof(wxChar);
ofs += ofsMax;
break;
case wxFromCurrent:
@@ -57,6 +59,9 @@ off_t wxStringInputStream::OnSysSeek(off_t ofs, wxSeekMode mode)
return wxInvalidOffset;
}
if ( ofs < 0 || wx_static_cast(size_t, ofs) >= ofsMax )
return wxInvalidOffset;
m_pos = wx_static_cast(size_t, ofs);
return ofs;