--- state_old.cc 2016-07-18 12:35:02.000000000 +0800 +++ state.cc 2016-08-15 16:58:35.813809843 +0800 @@ -86,6 +86,12 @@ con->packet_size= drizzle_get_byte3(con->buffer_ptr); + if (con->buffer_size < con->packet_size) + { + con->push_state(drizzle_state_read); + return DRIZZLE_RETURN_OK; + } + if (con->packet_number != con->buffer_ptr[3]) { drizzle_set_error(con, "drizzle_state_packet_read",