From decbc874106c0583fcb359668e2bdc8407201459 Mon Sep 17 00:00:00 2001 From: cxl Date: Mon, 27 Jan 2014 08:49:08 +0000 Subject: [PATCH] Core: LoadStream error handling refactored #660 git-svn-id: svn://ultimatepp.org/upp/trunk@6814 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/Core/Stream.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/uppsrc/Core/Stream.cpp b/uppsrc/Core/Stream.cpp index a56475791..c39c7b607 100644 --- a/uppsrc/Core/Stream.cpp +++ b/uppsrc/Core/Stream.cpp @@ -1531,12 +1531,13 @@ String ReadStdIn() String LoadStream(Stream& in) { if(in.IsOpen()) { in.ClearError(); - int size = (int)in.GetLeft(); - StringBuffer s(size); - if((dword)size != 0xffffffff) + int64 size = in.GetLeft(); + if(size >= 0 && size < INT_MAX / 2) { + StringBuffer s((int)size); in.Get(s, size); - if(!in.IsError()) - return s; + if(!in.IsError()) + return s; + } } return String::GetVoid(); }