From baf4bcc0973c8b04bd760aaab0f4232c9354e203 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Sat, 28 May 2016 11:27:45 +0200 Subject: Adjust memory limit of es_fopenmem to the block size. * src/estream.c (func_mem_create): Round up memory limit. -- This is required so that giving a memory limit to es_fopenmem won't fail if it is below the block size. Signed-off-by: Werner Koch --- src/estream.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/estream.c b/src/estream.c index 499cc75..2033b23 100644 --- a/src/estream.c +++ b/src/estream.c @@ -639,6 +639,14 @@ func_mem_create (void *_GPGRT__RESTRICT *_GPGRT__RESTRICT cookie, return -1; } + /* Round a memory limit up to the next block length. */ + if (memory_limit && block_size) + { + memory_limit += block_size - 1; + memory_limit /= block_size; + memory_limit *= block_size; + } + mem_cookie = mem_alloc (sizeof (*mem_cookie)); if (!mem_cookie) err = -1; -- cgit v1.2.3