Thanks.
Replaced with strbuf_addf() instead.
On Fri, Apr 25, 2014 at 3:12 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 27 quoted lines
> Ronnie Sahlberg wrote:
>
>> --- a/refs.c
>> +++ b/refs.c
>> @@ -3393,6 +3393,7 @@ static int ref_update_compare(const void *r1, const void *r2)
>> }
>>
>> static int ref_update_reject_duplicates(struct ref_update **updates, int n,
>> + char **err,
>> enum action_on_err onerr)
>> {
>> int i;
>> @@ -3400,6 +3401,11 @@ static int ref_update_reject_duplicates(struct ref_update **updates, int n,
>> if (!strcmp(updates[i - 1]->refname, updates[i]->refname)) {
>> const char *str =
>> "Multiple updates for ref '%s' not allowed.";
>> + if (err) {
>> + *err = xmalloc(PATH_MAX + 41);
>> + snprintf(*err, PATH_MAX + 41, str,
>> + updates[i]->refname);
>> + }
>
> Same issues as the previous patch: it's too easy to get the buffer size
> wrong when updating the message (or, worse, when making it
> translatable). aprintf or a strbuf should work better.
>
> Otherwise seems sensible.