diff --git a/dimension_label_experimental.go b/dimension_label_experimental.go index 78c7e223..1731981b 100644 --- a/dimension_label_experimental.go +++ b/dimension_label_experimental.go @@ -136,6 +136,7 @@ func (d *DimensionLabel) URI() (string, error) { // AddDimensionLabel adds a dimension label to the array schema. func (a *ArraySchema) AddDimensionLabel(dimIndex uint32, name string, order DataOrder, labelType Datatype) error { cLabelName := C.CString(name) + defer C.free(unsafe.Pointer(cLabelName)) ret := C.tiledb_array_schema_add_dimension_label(a.context.tiledbContext.Get(), a.tiledbArraySchema.Get(), C.uint32_t(dimIndex), cLabelName, C.tiledb_data_order_t(order), C.tiledb_datatype_t(labelType)) runtime.KeepAlive(a) diff --git a/serialize.go b/serialize.go index d1e1e5e6..5aa803fb 100644 --- a/serialize.go +++ b/serialize.go @@ -81,6 +81,7 @@ func DeserializeArrayCreate(buffer *Buffer, serializationType SerializationType, if ret != C.TILEDB_OK { return nil, "", fmt.Errorf("error deserializing array creation request: %w", buffer.context.LastError()) } + defer C.tiledb_string_free(&tdbString) uri, err := stringHandleToString(tdbString) if err != nil {