- /*
- * For application context, add it by expanding
- * ctx array.
- */
- memset(&new_field, 0, sizeof(new_field));
- new_field.field_name = strdup(name);
- if (!new_field.field_name)
- return -ENOMEM;
- new_field.event_field.name = new_field.field_name;
- new_field.event_field.type.atype = atype_dynamic;
+ event_field = zmalloc(sizeof(struct lttng_ust_event_field));
+ if (!event_field) {
+ ret = -ENOMEM;
+ goto error_event_field_alloc;
+ }
+ ctx_name = strdup(name);
+ if (!ctx_name) {
+ ret = -ENOMEM;
+ goto error_field_name_alloc;
+ }
+ type = zmalloc(sizeof(struct lttng_ust_type_common));
+ if (!type) {
+ ret = -ENOMEM;
+ goto error_field_type_alloc;
+ }
+ app_ctx = zmalloc(sizeof(struct lttng_ust_app_ctx));
+ if (!app_ctx) {
+ ret = -ENOMEM;
+ goto error_app_ctx_alloc;
+ }
+ event_field->name = ctx_name;
+ type->type = lttng_ust_type_dynamic;
+ event_field->type = type;
+ new_field.event_field = event_field;