aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2011-01-18 11:26:05 +0000
committerWerner Koch <[email protected]>2011-01-18 11:26:05 +0000
commitdcd20e18a5b581d93e8259722d5f1b69d3af992b (patch)
tree1a0f1e081a843cdd56f702ac9a0c50dd1ddd488b
parentifset parts which are not in GnuPG 2.0 (diff)
downloadgnupg-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/ChangeLog4
-rw-r--r--common/estream.c2
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);