#include <inttypes.h>
#include <stdlib.h>
#include <string.h>
+#include <errno.h>
#include <isc/log.h>
#include <isc/mem.h>
#include <isc/platform.h>
#include <isc/print.h>
#include <isc/stdio.h>
+#include <isc/strerr.h>
#include <isc/string.h>
#include <isc/thread.h>
#include <isc/util.h>
ptr = isc_mem_get(pk11_mctx, size);
else {
ptr = malloc(size);
- if (ptr != NULL)
- allocsize += (int)size;
+ if (ptr == NULL && size != 0) {
+ char strbuf[ISC_STRERRORSIZE];
+ strerror_r(errno, strbuf, sizeof(strbuf));
+ isc_error_fatal(__FILE__, __LINE__, "malloc failed: %s",
+ strbuf);
+ }
}
UNLOCK(&alloclock);
UNLOCK(&sessionlock);
sp = pk11_mem_get(sizeof(*sp));
- if (sp == NULL)
- return (ISC_R_NOMEMORY);
sp->magic = SES_MAGIC;
sp->token = token;
sp->session = CK_INVALID_HANDLE;
if (slotCount == 0)
return;
slotList = pk11_mem_get(sizeof(CK_SLOT_ID) * slotCount);
- RUNTIME_CHECK(slotList != NULL);
PK11_FATALCHECK(pkcs_C_GetSlotList, (CK_FALSE, slotList, &slotCount));
for (i = 0; i < slotCount; i++) {
if (rv != CKR_OK)
continue;
token = pk11_mem_get(sizeof(*token));
- RUNTIME_CHECK(token != NULL);
token->magic = TOK_MAGIC;
token->slotid = slot;
ISC_LINK_INIT(token, link);