From: Rusty Russell Date: Mon, 9 Jan 2023 02:19:22 +0000 (+1030) Subject: rbuf: avoid doing memchr(NULL, ..., 0). X-Git-Url: http://git.ozlabs.org/?a=commitdiff_plain;h=d87a25dc5510f47ed876985f6014dbfa4a96f1aa;p=ccan rbuf: avoid doing memchr(NULL, ..., 0). Signed-off-by: Rusty Russell --- diff --git a/ccan/rbuf/rbuf.c b/ccan/rbuf/rbuf.c index d8d658d3..cc10cf3d 100644 --- a/ccan/rbuf/rbuf.c +++ b/ccan/rbuf/rbuf.c @@ -74,9 +74,11 @@ char *rbuf_read_str(struct rbuf *rbuf, char term) ssize_t r = 0; size_t prev = 0; - while (!(p = memchr(membuf_elems(&rbuf->m) + prev, - term, - membuf_num_elems(&rbuf->m) - prev))) { + /* memchr(NULL, ..., 0) is illegal. FML. */ + while (membuf_num_elems(&rbuf->m) == prev + || !(p = memchr(membuf_elems(&rbuf->m) + prev, + term, + membuf_num_elems(&rbuf->m) - prev))) { prev += r; r = get_more(rbuf); if (r < 0)