Commit 9ae720b4 authored by Matt Caswell's avatar Matt Caswell
Browse files

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: default avatarKurt Roeckx <kurt@openssl.org>
parent ae4d0c8d
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -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