
Buffering and other data structures 353
underrun and overrun conditions is more complex. If this is not
done then it can lead to many different problems.
If the pointers that are used to define and create buffers are
used with no range checking i.e. they are always used on the
assumption that the values are within the buffer range and are
correct, then there is always the risk that an error condition may
cause the pointers to go out of range. If a buffer underruns and the
buffer pointer now points to the next memory location outside of
the buffer and no checking is done, incorrect data will be supplied
and the pointer incremented to the next location. ...