]> git.saurik.com Git - wxWidgets.git/commitdiff
fix for infinite loop in wxFileConfig when reading from input stream fails (patch...
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 7 Nov 2003 11:42:23 +0000 (11:42 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 7 Nov 2003 11:42:23 +0000 (11:42 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/fileconf.cpp

index 6423bbe8e9e72128523896e77f5759144f3aec41..1c0337284ef66bff06f7512ae2a824e101124013 100644 (file)
@@ -494,10 +494,21 @@ wxFileConfig::wxFileConfig(wxInputStream &inStream, wxMBConv& conv)
         wxString strTmp;
 
         char buf[1024];
         wxString strTmp;
 
         char buf[1024];
-        while ( !inStream.Read(buf, WXSIZEOF(buf)).Eof() )
+        for ( ;; )
+        {
+            inStream.Read(buf, WXSIZEOF(buf));
+
+            if ( !inStream.IsOk() )
+            {
+                wxLogError(_("Error reading config options."));
+                break;
+            }
+
             strTmp.append(wxConvertMB2WX(buf), inStream.LastRead());
 
             strTmp.append(wxConvertMB2WX(buf), inStream.LastRead());
 
-        strTmp.append(wxConvertMB2WX(buf), inStream.LastRead());
+            if ( inStream.Eof() )
+                break;
+        }
 
         strTrans = wxTextBuffer::Translate(strTmp);
     }
 
         strTrans = wxTextBuffer::Translate(strTmp);
     }