From fee531f9c102c999021999310a4fab5f4f237329 Mon Sep 17 00:00:00 2001 From: mikespook Date: Wed, 26 Dec 2012 17:03:15 +0800 Subject: [PATCH] check the size of byte array, greater or lesser --- worker/agent.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/worker/agent.go b/worker/agent.go index 227adbb..b3e3111 100644 --- a/worker/agent.go +++ b/worker/agent.go @@ -139,12 +139,14 @@ func (a *agent) read() (data []byte, err error) { l := int(common.BytesToUint32([4]byte{data[start+8], data[start+9], data[start+10], data[start+11]})) total := l + 12 - if total == tl { + if total == tl { // data is what we want return - } else { + } else if total < tl{ // data[:total] is what we want, data[total:] is the more a.in <- data[total:] data = data[:total] return + } else { // ops! + break } } else { start++