static void * _gcry_secmem_malloc_internal (size_t size) { memblock_t *mb; if (!pool_okay) { log_info (_ ("operation is not possible without initialized secure memory\n")); exit (2); } if (show_warning && !suspend_warning) { show_warning = 0; print_warn (); } /* Blocks are always a multiple of 32. */ size = ((size + 31) / 32) * 32; mb = mb_get_new ((memblock_t *) pool, size); if (mb) stats_update (size, 0); return mb ? &mb->aligned.c : NULL; }
static void * _gcry_secmem_malloc_internal (size_t size) { memblock_t *mb; if (!pool_okay) { /* Try to initialize the pool if the user forgot about it. */ secmem_init (STANDARD_POOL_SIZE); if (!pool_okay) { log_info (_("operation is not possible without " "initialized secure memory\n")); gpg_err_set_errno (ENOMEM); return NULL; } } if (not_locked && fips_mode ()) { log_info (_("secure memory pool is not locked while in FIPS mode\n")); gpg_err_set_errno (ENOMEM); return NULL; } if (show_warning && !suspend_warning) { show_warning = 0; print_warn (); } /* Blocks are always a multiple of 32. */ size = ((size + 31) / 32) * 32; mb = mb_get_new ((memblock_t *) pool, size); if (mb) stats_update (size, 0); return mb ? &mb->aligned.c : NULL; }