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