lib/remcached/packet.rb in remcached-0.4.0 vs lib/remcached/packet.rb in remcached-0.4.1

- old
+ new

@@ -78,10 +78,14 @@ # Parse body of packet when the +:total_body_length+ field is # known by header. Pass it at least +total_body_length+ bytes. # # return:: [String] remaining bytes def parse_body(buf) - buf, rest = buf[0..(self[:total_body_length] - 1)], buf[self[:total_body_length]..-1] + if self[:total_body_length] < 1 + buf, rest = "", buf + else + buf, rest = buf[0..(self[:total_body_length] - 1)], buf[self[:total_body_length]..-1] + end if self[:extras_length] > 0 self[:extras] = parse_extras(buf[0..(self[:extras_length]-1)]) else self[:extras] = parse_extras("")