[COMMITTED] libio: Update internal fmemopen position after write (BZ #20005)
Adhemerval Zanella
adhemerval.zanella@linaro.org
Tue Apr 26 22:58:00 GMT 2016
On 26/04/2016 18:07, Andreas Schwab wrote:
> Adhemerval Zanella <adhemerval.zanella@linaro.org> writes:
>
>> diff --git a/libio/fmemopen.c b/libio/fmemopen.c
>> index 23b5c5f..9264b72 100644
>> --- a/libio/fmemopen.c
>> +++ b/libio/fmemopen.c
>> @@ -86,10 +86,10 @@ fmemopen_write (void *cookie, const char *b, size_t s)
>>
>> memcpy (&(c->buffer[pos]), b, s);
>>
>> - pos += s;
>> - if ((size_t) pos > c->maxpos)
>> + c->pos += s;
>> + if ((size_t) c->pos > c->maxpos)
>> {
>> - c->maxpos = pos;
>> + c->maxpos = c->pos;
>
> What happens if pos != c->pos in an append stream?
>
> Andreas.
>
I am trying to come up with a scenario where it will lead to failure.
Do you have some in mind?
More information about the Libc-alpha
mailing list