Fix an off-by-one error of own memrchr implementation

and make it support `search_len == 0`, just for the case

Ref [Bug #20796]
This commit is contained in:
Yusuke Endoh 2024-10-21 18:25:09 +09:00
Родитель 257f78fb67
Коммит a83c91dd7a
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -4548,9 +4548,9 @@ static void*
memrchr(const char *search_str, int chr, long search_len)
{
const char *ptr = search_str + search_len;
do {
while (ptr > search_str) {
if ((unsigned char)*(--ptr) == chr) return (void *)ptr;
} while (ptr >= search_str);
}
return ((void *)0);
}