---
name: "rangecheck"
section: "3diet"
platform: "linux"
package: "libowfat-dev"
version: "0.28-2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/rangecheck/3diet"
---

# rangecheck(3diet)

pointer range checking

## NAME

rangecheck.h - pointer range checking

## SYNTAX

**#include \<rangecheck.h\>**

int **range\_validbuf**(const void\* buf,size\_t len);

int **range\_ptrinbuf**(const void\* buf,size\_t len,const void\* ptr);

int **range\_bufinbuf**(const void\* buf1,size\_t len1,\
                    const void\* buf2,size\_t len2);

int **range\_arrayinbuf**(const void\* buf,size\_t len,\
                      const void\* arraystart,\
                      size\_t elements,size\_t membersize);

int **range\_strinbuf**(const void\* buf,size\_t len,const void\* string);

int **range\_str2inbuf**(const void\* buf,size\_t len,const void\* string);

int **range\_str4inbuf**(const void\* buf,size\_t len,const void\* string);

## DESCRIPTION

rangecheck.h provides several routines for range checking pointers. These routines are meant for code that has to validate the syntax and semantics of buffers coming in from untrusted sources (like a network connection or an input file).

## RETURN VALUE

The routines all return 0 on error, or 1 if the pointers were in range.

## SEE ALSO

[range\_validbuf(3)](/range_validbuf/3.md), [range\_ptrinbuf(3)](/range_ptrinbuf/3.md), [range\_bufinbuf(3)](/range_bufinbuf/3.md), [range\_arrayinbuf(3)](/range_arrayinbuf/3.md), [range\_strinbuf(3)](/range_strinbuf/3.md), [range\_str2inbuf(3)](/range_str2inbuf/3.md), [range\_str4inbuf(3)](/range_str4inbuf/3.md)
