
<         while (i < sizeof(buf) && (pg - page < len) &&
<             *pg != '\n' && *pg != '\0')
<             buf[i++] = *pg++;
---
>         size_t copy_len = strlcpy(buf, pg, bufsize);
>         i = copy_len;
>         pg += copy_len;
