Committing work for next release (got to do something over lunch aye?)
[awesomized/libmemcached] / lib / memcached_response.c
index b90d861d9f3f194c5505ecaea82bd5c0d9fc6601..7402975f895761ade88c41864174b074e630c433 100644 (file)
@@ -42,8 +42,13 @@ memcached_return memcached_response(memcached_st *ptr,
         buffer_ptr++;
 
       total_length++;
-      WATCHPOINT_ASSERT(total_length < buffer_length);
+      WATCHPOINT_ASSERT(total_length <= buffer_length);
+
+      if (total_length >= buffer_length)
+        return MEMCACHED_PROTOCOL_ERROR;
     }
+    buffer_ptr++;
+    *buffer_ptr= 0;
 
     if (memcached_server_response_count(ptr, server_key))
       memcached_server_response_decrement(ptr, server_key);
@@ -51,7 +56,7 @@ memcached_return memcached_response(memcached_st *ptr,
 
   switch(buffer[0])
   {
-  case 'V': /* VALUE */
+  case 'V': /* VALUE || VERSION */
     return MEMCACHED_SUCCESS;
   case 'O': /* OK */
     return MEMCACHED_SUCCESS;