if (lib.handle == NULL) {
return TEEC_ERROR_NOT_IMPLEMENTED;
}
+ if (session == NULL) {
+ return TEEC_ERROR_BAD_PARAMETERS;
+ }
TEF_SessionImpl *tefSession = (TEF_SessionImpl *)session->imp;
if (tefSession == NULL) {
return TEEC_ERROR_BAD_PARAMETERS;
if (lib.handle == NULL) {
return TEEC_ERROR_NOT_IMPLEMENTED;
}
- if (sharedMemory == NULL) {
+ if (context == NULL || sharedMemory == NULL) {
return TEEC_ERROR_BAD_PARAMETERS;
}
sharedMemory->imp = lib.createSharedMemory();
if (sharedMemory == NULL) {
return TEEC_ERROR_BAD_PARAMETERS;
}
+ if (context == NULL) {
+ sharedMemory->buffer = NULL;
+ return TEEC_ERROR_BAD_PARAMETERS;
+ }
sharedMemory->imp = lib.createSharedMemory();
if (sharedMemory->imp == NULL) {
+ sharedMemory->buffer = NULL;
return TEEC_ERROR_OUT_OF_MEMORY;
}
TEEC_SharedMemory *shm = (TEEC_SharedMemory *)sharedMemory->imp;
- shm->buffer = NULL;
+ shm->buffer = sharedMemory->buffer;
shm->size = sharedMemory->size;
shm->flags = sharedMemory->flags;
TEEC_Result result = lib.wAllocateSharedMemory((TEEC_Context *)context->imp, shm);
+ sharedMemory->buffer = shm->buffer;
if (result != TEEC_SUCCESS) {
free(sharedMemory->imp);
sharedMemory->imp = NULL;
- } else {
- sharedMemory->buffer = shm->buffer;
}
return result;
}