range_strinbuf(3) | Library Functions Manual | range_strinbuf(3) |
range_strinbuf - range check for string in buffer
#include <libowfat/rangecheck.h>
int range_strinbuf(const void* buf,size_t len,const void* stringstart);
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.
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.