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