don't ever set pointer outside of buffer