The branch master has been updated
via 9ae720b4dc30ab52b20965c5d6f60ecc6169b8c8 (commit)
from ae4d0c8d227d0cf4f9f3f7a5d07189c0a18b25fc (commit)
- Log -----------------------------------------------------------------
commit 9ae720b4dc30ab52b20965c5d6f60ecc6169b8c8
Author: Matt Caswell <[email protected]>
Date: Thu Nov 12 15:11:34 2015 +0000
Check error return from sysconf in secure memory code
We use the sysconf function to provide details about the page size in the
secure memory code. This function can return -1 on error so we should check
for this before proceeding.
Reviewed-by: Kurt Roeckx <[email protected]>
-----------------------------------------------------------------------
Summary of changes:
crypto/sec_mem.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/crypto/sec_mem.c b/crypto/sec_mem.c
index 2e29219..0b2f1fd 100644
--- a/crypto/sec_mem.c
+++ b/crypto/sec_mem.c
@@ -333,8 +333,18 @@ static int sh_init(size_t size, int minsize)
goto err;
/* Allocate space for heap, and two extra pages as guards */
-#ifdef _SC_PAGE_SIZE
- pgsize = (size_t)sysconf(_SC_PAGE_SIZE);
+#if defined(_SC_PAGE_SIZE) || defined (_SC_PAGESIZE)
+ {
+# if defined(_SC_PAGE_SIZE)
+ long tmppgsize = sysconf(_SC_PAGE_SIZE);
+# else
+ long tmppgsize = sysconf(_SC_PAGESIZE);
+# endif
+ if (tmppgsize < 1)
+ pgsize = PAGE_SIZE;
+ else
+ pgsize = (size_t)tmppgsize;
+ }
#else
pgsize = PAGE_SIZE;
#endif
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits