diff
13   if (initial_read != SIZE_MAX || start < initial_read)
14+      if (start < bufsize && initial_read <= bufsize && start <= initial_read)
15           memmove (buf, buf + start, initial_read - start);
