Skip to content

Commit

Permalink
Merge pull request #162 from TileDB-Inc/an/fix_memory_allocations
Browse files Browse the repository at this point in the history
Fix memory allocations
  • Loading branch information
antalakas authored Mar 30, 2021
2 parents afedd1e + 591a62b commit f24606e
Show file tree
Hide file tree
Showing 10 changed files with 0 additions and 29 deletions.
3 changes: 0 additions & 3 deletions array.go
Original file line number Diff line number Diff line change
Expand Up @@ -716,8 +716,6 @@ func (a *Array) NonEmptyDomainFromName(dimName string) (*NonEmptyDomain, bool, e
// URI returns the array's uri
func (a *Array) URI() (string, error) {
var curi *C.char
defer C.free(unsafe.Pointer(curi))

C.tiledb_array_get_uri(a.context.tiledbContext, a.tiledbArray, &curi)
uri := C.GoString(curi)
if uri == "" {
Expand Down Expand Up @@ -1001,7 +999,6 @@ func (a *Array) GetMetadataFromIndex(index uint64) (*ArrayMetadata, error) {
// in full
func (a *Array) GetMetadataFromIndexWithValueLimit(index uint64, limit *uint) (*ArrayMetadata, error) {
var cKey *C.char
defer C.free(unsafe.Pointer(cKey))

var cIndex C.uint64_t = C.uint64_t(index)
var cType C.tiledb_datatype_t
Expand Down
1 change: 0 additions & 1 deletion attribute.go
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,6 @@ func (a *Attribute) GetFillValueNullable() (interface{}, uint64, bool, error) {
// Name returns name of attribute
func (a *Attribute) Name() (string, error) {
var cName *C.char
defer C.free(unsafe.Pointer(cName))
ret := C.tiledb_attribute_get_name(a.context.tiledbContext, a.tiledbAttribute, &cName)
if ret != C.TILEDB_OK {
return "", fmt.Errorf("Error getting tiledb attribute name: %s", a.context.LastError())
Expand Down
8 changes: 0 additions & 8 deletions config.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ func NewConfig() (*Config, error) {
C.tiledb_config_alloc(&config.tiledbConfig, &err)
if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return nil, fmt.Errorf("Error creating tiledb config: %s", C.GoString(msg))
Expand All @@ -50,7 +49,6 @@ func (c *Config) Set(param string, value string) error {

if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return fmt.Errorf("Error setting %s:%s in config: %s", param, value, C.GoString(msg))
Expand All @@ -63,14 +61,12 @@ func (c *Config) Set(param string, value string) error {
func (c *Config) Get(param string) (string, error) {
var err *C.tiledb_error_t
var val *C.char
defer C.free(unsafe.Pointer(val))
cparam := C.CString(param)
defer C.free(unsafe.Pointer(cparam))
C.tiledb_config_get(c.tiledbConfig, cparam, &val, &err)

if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return "", fmt.Errorf("Error getting %s in config: %s", param, C.GoString(msg))
Expand All @@ -90,7 +86,6 @@ func (c *Config) Unset(param string) error {

if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return fmt.Errorf("Error unsetting %s in config: %s", param, C.GoString(msg))
Expand All @@ -108,7 +103,6 @@ func (c *Config) SaveToFile(file string) error {

if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return fmt.Errorf("Error saving config from file %s: %s", file, C.GoString(msg))
Expand All @@ -129,7 +123,6 @@ func LoadConfig(uri string) (*Config, error) {
C.tiledb_config_alloc(&config.tiledbConfig, &err)
if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return nil, fmt.Errorf("Error loading tiledb config: %s", C.GoString(msg))
Expand All @@ -140,7 +133,6 @@ func LoadConfig(uri string) (*Config, error) {
C.tiledb_config_load_from_file(config.tiledbConfig, curi, &err)
if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return nil, fmt.Errorf("Error loading config from file %s: %s", uri, C.GoString(msg))
Expand Down
9 changes: 0 additions & 9 deletions config_iter.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ func NewConfigIter(config *Config, prefix string) (*ConfigIter, error) {
C.tiledb_config_iter_alloc(config.tiledbConfig, cprefix, &ci.tiledbConfigIter, &err)
if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return nil, fmt.Errorf("error creating tiledb config iter: %s", C.GoString(msg))
Expand All @@ -56,13 +55,9 @@ func (ci *ConfigIter) Free() {
func (ci *ConfigIter) Here() (*string, *string, error) {
var err *C.tiledb_error_t
var cparam, cvalue *C.char
defer C.free(unsafe.Pointer(cparam))
defer C.free(unsafe.Pointer(cvalue))

C.tiledb_config_iter_here(ci.tiledbConfigIter, &cparam, &cvalue, &err)
if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return nil, nil, fmt.Errorf("error getting param, vakue from config iter: %s", C.GoString(msg))
Expand All @@ -78,7 +73,6 @@ func (ci *ConfigIter) Next() error {
C.tiledb_config_iter_next(ci.tiledbConfigIter, &err)
if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return fmt.Errorf("error moving to next ConfigItem from iter: %s", C.GoString(msg))
Expand All @@ -93,7 +87,6 @@ func (ci *ConfigIter) Done() (bool, error) {
C.tiledb_config_iter_done(ci.tiledbConfigIter, &cDone, &err)
if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return false, fmt.Errorf("error moving to next ConfigItem from iter: %s", C.GoString(msg))
Expand All @@ -108,7 +101,6 @@ func (ci *ConfigIter) IsDone() bool {
C.tiledb_config_iter_done(ci.tiledbConfigIter, &cDone, &err)
if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return false
Expand All @@ -124,7 +116,6 @@ func (ci *ConfigIter) Reset(prefix string) error {
C.tiledb_config_iter_reset(ci.config.tiledbConfig, ci.tiledbConfigIter, cprefix, &err)
if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return fmt.Errorf("error creating tiledb config iter: %s", C.GoString(msg))
Expand Down
2 changes: 0 additions & 2 deletions context.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ func NewContext(config *Config) (*Context, error) {
}
if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return nil, fmt.Errorf("Error creating tiledb context: %s", C.GoString(msg))
Expand Down Expand Up @@ -91,7 +90,6 @@ func (c *Context) LastError() error {

if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
defer C.tiledb_error_free(&err)
ret := C.tiledb_error_message(err, &msg)
if ret == C.TILEDB_OOM {
Expand Down
1 change: 0 additions & 1 deletion dimension.go
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,6 @@ func (d *Dimension) CellValNum() (uint, error) {
// Name returns the name of the dimension
func (d *Dimension) Name() (string, error) {
var cName *C.char
defer C.free(unsafe.Pointer(cName))
ret := C.tiledb_dimension_get_name(d.context.tiledbContext, d.tiledbDimension, &cName)
if ret != C.TILEDB_OK {
return "", fmt.Errorf("Error getting tiledb dimension name: %s", d.context.LastError())
Expand Down
1 change: 0 additions & 1 deletion enums.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@ const (
// String returns string representation
func (d Datatype) String() string {
var cname *C.char
defer C.free(unsafe.Pointer(cname))
C.tiledb_datatype_to_str(C.tiledb_datatype_t(d), &cname)
return C.GoString(cname)
}
Expand Down
2 changes: 0 additions & 2 deletions fragment_info.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@ func (fI *FragmentInfo) GetFragmentNum() (uint32, error) {
// fid is the index of the fragment of interest.
func (fI *FragmentInfo) GetFragmentURI(fid uint32) (string, error) {
var curi *C.char
defer C.free(unsafe.Pointer(curi))
C.tiledb_fragment_info_get_fragment_uri(fI.context.tiledbContext,
fI.tiledbFragmentInfo, C.uint32_t(fid), &curi)
uri := C.GoString(curi)
Expand Down Expand Up @@ -587,7 +586,6 @@ func (fI *FragmentInfo) GetToVacuumNum() (uint32, error) {
// fid is the index of the fragment of interest.
func (fI *FragmentInfo) GetToVacuumURI(fid uint32) (string, error) {
var curi *C.char
defer C.free(unsafe.Pointer(curi))
C.tiledb_fragment_info_get_to_vacuum_uri(fI.context.tiledbContext,
fI.tiledbFragmentInfo, C.uint32_t(fid), &curi)
uri := C.GoString(curi)
Expand Down
1 change: 0 additions & 1 deletion query.go
Original file line number Diff line number Diff line change
Expand Up @@ -3205,7 +3205,6 @@ func (q *Query) GetFragmentNum() (*uint32, error) {
// GetFragmentURI returns uri for a fragment
func (q *Query) GetFragmentURI(num uint64) (*string, error) {
var cURI *C.char
defer C.free(unsafe.Pointer(cURI))

ret := C.tiledb_query_get_fragment_uri(
q.context.tiledbContext,
Expand Down
1 change: 0 additions & 1 deletion vfs.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ func NewVFS(context *Context, config *Config) (*VFS, error) {
C.tiledb_vfs_alloc(context.tiledbContext, config.tiledbConfig, &vfs.tiledbVFS)
if err != nil {
var msg *C.char
defer C.free(unsafe.Pointer(msg))
C.tiledb_error_message(err, &msg)
defer C.tiledb_error_free(&err)
return nil, fmt.Errorf("Error creating tiledb context: %s", C.GoString(msg))
Expand Down

0 comments on commit f24606e

Please sign in to comment.