嵌入式 lua_struct.c 中的整数溢出(导致堆栈缓冲区溢出)
作者: Crispy-fried-chicken创建于 2024年2月3日更新于 2024年11月28日
`app/modules/struct.c` 中的 `getnum` 在 `fmt` 设置过大时可能会发生整数溢出。这种情况可能会通过运行以下 lua 语句触发: `EVAL "struct.pack('>I2147483648', '10')" 0` 可以通过在 `getnum` 中添加一个边界检查来轻松避免此问题,如果必要的话,我希望为此开启一个 PR。
内容来源: nodemcu/nodemcu-firmware