From c43fa60bb6ca82b741ade19258fd17bae33a508b Mon Sep 17 00:00:00 2001 From: deuce <> Date: Fri, 27 May 2011 02:09:43 +0000 Subject: [PATCH] Handle short recv()s --- exec/load/cvslib.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/exec/load/cvslib.js b/exec/load/cvslib.js index 76c158e1ce..40da98c20b 100644 --- a/exec/load/cvslib.js +++ b/exec/load/cvslib.js @@ -222,7 +222,18 @@ CVS = new (function () { function recv_file(socket) { var length=parseInt(socket.recvline()); - return socket.recv(length); + var ret=''; + + while(length) { + var str=socket.recv(length); + if(str) { + ret += str; + length -= str.length; + } + else + throw("Error on recv()"); + } + return ret; } for(;;) { -- GitLab