
<       memmove (buf, buf + start, initial_read - start);
---
>       if (start < initial_read)
>       {
>           memmove (buf, buf + start, initial_read - start);
>       }
