mirror of
https://github.com/apache/nuttx.git
synced 2026-06-09 19:04:15 +08:00
1aceb1d872
We have a case that an http server gives out-of-ordered ACKs, and NuttX client makes `ofoseg`s with length 0, trying to rebuild / put them into `ofosegs` array, which is not intended (no available data and should be skipped). This breaks later logic and finally crashed in `tcp_ofoseg_bufsize` (`ofosegs[i].data` is `NULL`, which should never happen in normal logic). Note: - `iob_trimhead` won't return `NULL` when it's applying on normal IOB. - Keep `dev->d_iob == NULL` to avoid `iob_trimhead` changed. - `iob_free_chain` will do nothing when applied to `NULL`. Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>