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("")