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(); }