breeze
breeze copied to clipboard
修复解析redis响应中 *-1\r\n 的问题
breeze 解析redis响应时,没有处理 “*-1\r\n”,可能出现不可预知的问题:
- 在 debug 模式下,Rust 会直接触发 panic(运行时错误),提示整数溢出,导致连接断开。
- 在 release 模式下(默认关闭溢出检查),会按照无符号整数的环绕规则处理,结果为 usize::MAX - 2(例如 64 位系统上是 18446744073709551613),pipeline下会吞噬并读取到非法位置。