diff options
author | Werner Koch <[email protected]> | 2011-01-18 11:26:05 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2011-01-18 11:26:05 +0000 |
commit | dcd20e18a5b581d93e8259722d5f1b69d3af992b (patch) | |
tree | 1a0f1e081a843cdd56f702ac9a0c50dd1ddd488b | |
parent | ifset parts which are not in GnuPG 2.0 (diff) | |
download | gnupg-dcd20e18a5b581d93e8259722d5f1b69d3af992b.tar.gz gnupg-dcd20e18a5b581d93e8259722d5f1b69d3af992b.zip |
Fix computation of NEWSIZE in es_func_mem_write.
The function used to fail and return EINVAL when enlarging the buffer.
-rw-r--r-- | common/ChangeLog | 4 | ||||
-rw-r--r-- | common/estream.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/common/ChangeLog b/common/ChangeLog index 6a6f6e071..fe9eb4fc0 100644 --- a/common/ChangeLog +++ b/common/ChangeLog @@ -1,3 +1,7 @@ +2011-01-18 Werner Koch <[email protected]> + + * estream.c (es_func_mem_write): FIX computation of NEWSIZE. + 2011-01-10 Werner Koch <[email protected]> * session-env.c (update_var): Fix same value detection. Fixes diff --git a/common/estream.c b/common/estream.c index bc25452ed..416aa8376 100644 --- a/common/estream.c +++ b/common/estream.c @@ -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); |