Fix computation of NEWSIZE in es_func_mem_write.

The function used to fail and return EINVAL when enlarging the buffer.
This commit is contained in:
Werner Koch 2011-01-18 12:26:05 +01:00
parent 52b9761c88
commit dcd20e18a5
2 changed files with 5 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2011-01-18 Werner Koch <wk@g10code.com>
* estream.c (es_func_mem_write): FIX computation of NEWSIZE.
2011-01-10 Werner Koch <wk@g10code.com>
* session-env.c (update_var): Fix same value detection. Fixes

View File

@ -641,7 +641,7 @@ es_func_mem_write (void *cookie, const void *buffer, size_t size)
if (!mem_cookie->memory_size)
newsize = size; /* Not yet allocated. */
else
newsize = mem_cookie->memory_size + (nleft - size);
newsize = mem_cookie->memory_size + (size - nleft);
if (newsize < mem_cookie->offset)
{
_set_errno (EINVAL);