If we're going to stick the stuff after the '=' into a buffer, why bother going via the content ?
```
const char *equal = strchr(line + 1, '=');
if (equal)
{
    strlcpy(name, line + 1, MIN(sizeof(name), equal - line - 1));
    const char * end = strchr(++equal, '\n');
    Buffer * holder = BufferNewFrom(equal, end ? end - equal : strlen(equal));
...
}
```
Then we're not constrained by a buffer size on content - and we at least have the option of ensuring we don't overflow name (see my use of MIN).

(Of course, see previous comment, we should probably also be checking for '\n' before '=', which may slightly complicate matters compared to the code I give here.)