Skip to content
Snippets Groups Projects
Commit 2f84ff97 authored by Richard Mudgett's avatar Richard Mudgett
Browse files

stasis_message.c: Don't create immutable stasis objects with locks.

* Create the stasis message object without a lock as it is immutable.
* Create the stasis message type object without a lock as it is immutable.
* Creating the stasis message type could crash if the passed in type name
is NULL and REF_DEBUG is enabled.  Added missing NULL check when passing
the ao2 object tag string.

Change-Id: I28763c58bb9f0b427c11971d0103bf94055e7b32
parent c4f1adf7
Branches
Tags
No related merge requests found
...@@ -63,7 +63,8 @@ int stasis_message_type_create(const char *name, ...@@ -63,7 +63,8 @@ int stasis_message_type_create(const char *name,
return STASIS_MESSAGE_TYPE_DECLINED; return STASIS_MESSAGE_TYPE_DECLINED;
} }
type = ao2_t_alloc(sizeof(*type), message_type_dtor, name); type = ao2_t_alloc_options(sizeof(*type), message_type_dtor,
AO2_ALLOC_OPT_LOCK_NOLOCK, name ?: "");
if (!type) { if (!type) {
return STASIS_MESSAGE_TYPE_ERROR; return STASIS_MESSAGE_TYPE_ERROR;
} }
...@@ -123,7 +124,8 @@ struct stasis_message *stasis_message_create_full(struct stasis_message_type *ty ...@@ -123,7 +124,8 @@ struct stasis_message *stasis_message_create_full(struct stasis_message_type *ty
return NULL; return NULL;
} }
message = ao2_t_alloc(sizeof(*message), stasis_message_dtor, type->name); message = ao2_t_alloc_options(sizeof(*message), stasis_message_dtor,
AO2_ALLOC_OPT_LOCK_NOLOCK, type->name);
if (message == NULL) { if (message == NULL) {
return NULL; return NULL;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment