From: Arran Cudbard-Bell Date: Wed, 27 Nov 2024 23:08:37 +0000 (-0600) Subject: Use memory safe functions when searching for needles X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6c75dc17b910158ee2c4767a4d5374311fde74a;p=thirdparty%2Ffreeradius-server.git Use memory safe functions when searching for needles Probably slightly higher performance --- diff --git a/src/lib/util/sbuff.c b/src/lib/util/sbuff.c index b7531e095ea..fef844ed1e0 100644 --- a/src/lib/util/sbuff.c +++ b/src/lib/util/sbuff.c @@ -560,14 +560,14 @@ static inline bool fr_sbuff_terminal_search(fr_sbuff_t *in, char const *p, mid = term_idx - 1; /* Inform the mid point from the index */ while (start <= end) { - char const *elem; - size_t tlen; - int ret; + fr_sbuff_term_elem_t const *elem; + size_t tlen; + int ret; - elem = term->elem[mid].str; - tlen = strlen(elem); + elem = &term->elem[mid]; + tlen = elem->len; - ret = strncmp(p, elem, tlen < (size_t)remaining ? tlen : (size_t)remaining); + ret = memcmp(p, elem->str, tlen < (size_t)remaining ? tlen : (size_t)remaining); if (ret == 0) { /* * If we have more text than the table element, that's fine