+ if (trace->frozen) {
+ /*
+ * New environment fields may be added to a frozen trace,
+ * but existing fields may not be changed.
+ *
+ * The object passed is frozen like all other attributes.
+ */
+ struct bt_object *attribute =
+ bt_ctf_attributes_get_field_value_by_name(
+ trace->environment, name);
+
+ if (attribute) {
+ BT_OBJECT_PUT(attribute);
+ ret = -1;
+ goto end;
+ }
+
+ bt_object_freeze(value);
+ }
+