SYNTAX

#include <rangecheck.h>

int range_strinbuf(const void* buf,size_t len,const void* stringstart);

DESCRIPTION

range_strinbuf checks that the ASCIIZ-string starting at stringstart starts and ends within the buffer buf[0..len-1].

If the string is not 0-terminated but the length is known beforehand, use range_arrayinbuf instead.

RETURN VALUE

If the buffer is implausible (buf is NULL or buf+len has an integer overflow), return 0.

If stringstart points before or after the buffer, return 0.

If there is no '\0' within the buffer, return 0.

Otherwise, return 1.

RELATED TO range_strinbuf…