Am 25.08.19 um 12:02 schrieb Mike Hommey:
> On Sun, Aug 25, 2019 at 04:10:55AM -0400, Jeff King wrote:
>> diff --git a/fast-import.c b/fast-import.c
>> index ee7258037a..1f9160b645 100644
>> --- a/fast-import.c
>> +++ b/fast-import.c
>> @@ -1763,7 +1763,6 @@ static int read_next_command(void)
>>              } else {
>>                      struct recent_command *rc;
>>
>> -                    strbuf_detach(&command_buf, NULL);
>>                      stdin_eof = strbuf_getline_lf(&command_buf, stdin);
>>                      if (stdin_eof)
>>                              return EOF;
>> @@ -1784,7 +1783,7 @@ static int read_next_command(void)
>>                              free(rc->buf);
>>                      }
>>
>> -                    rc->buf = command_buf.buf;
>> +                    rc->buf = xstrdup(command_buf.buf);
>
> You could xstrndup(command_buf.buf, command_buf.len), which would avoid
> a hidden strlen.

xstrndup() also searches for NUL, albeit with memchr(3).  xmemdupz()
would copy without checking.

I suspect the simplicity of xstrdup() outweighs the benefits of the
alternatives, but didn't do any measurements..

René

Reply via email to