Swapped malloc and free for enif_alloc and enif_free
This commit is contained in:
@@ -483,7 +483,7 @@ make_row(ErlNifEnv *env, sqlite3_stmt *statement)
|
|||||||
ERL_NIF_TERM row;
|
ERL_NIF_TERM row;
|
||||||
|
|
||||||
size = sqlite3_column_count(statement);
|
size = sqlite3_column_count(statement);
|
||||||
array = (ERL_NIF_TERM *) malloc(sizeof(ERL_NIF_TERM)*size);
|
array = (ERL_NIF_TERM *) enif_alloc(sizeof(ERL_NIF_TERM)*size);
|
||||||
|
|
||||||
if(!array)
|
if(!array)
|
||||||
return make_error_tuple(env, "no_memory");
|
return make_error_tuple(env, "no_memory");
|
||||||
@@ -492,7 +492,7 @@ make_row(ErlNifEnv *env, sqlite3_stmt *statement)
|
|||||||
array[i] = make_cell(env, statement, i);
|
array[i] = make_cell(env, statement, i);
|
||||||
|
|
||||||
row = make_row_tuple(env, enif_make_tuple_from_array(env, array, size));
|
row = make_row_tuple(env, enif_make_tuple_from_array(env, array, size));
|
||||||
free(array);
|
enif_free(array);
|
||||||
return row;
|
return row;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -546,14 +546,14 @@ do_column_names(ErlNifEnv *env, sqlite3_stmt *stmt)
|
|||||||
else if(size < 0)
|
else if(size < 0)
|
||||||
return make_error_tuple(env, "invalid_column_count");
|
return make_error_tuple(env, "invalid_column_count");
|
||||||
|
|
||||||
array = (ERL_NIF_TERM *) malloc(sizeof(ERL_NIF_TERM) * size);
|
array = (ERL_NIF_TERM *) enif_alloc(sizeof(ERL_NIF_TERM) * size);
|
||||||
if(!array)
|
if(!array)
|
||||||
return make_error_tuple(env, "no_memory");
|
return make_error_tuple(env, "no_memory");
|
||||||
|
|
||||||
for(i = 0; i < size; i++) {
|
for(i = 0; i < size; i++) {
|
||||||
name = sqlite3_column_name(stmt, i);
|
name = sqlite3_column_name(stmt, i);
|
||||||
if(name == NULL) {
|
if(name == NULL) {
|
||||||
free(array);
|
enif_free(array);
|
||||||
return make_error_tuple(env, "sqlite3_malloc_failure");
|
return make_error_tuple(env, "sqlite3_malloc_failure");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -561,7 +561,7 @@ do_column_names(ErlNifEnv *env, sqlite3_stmt *stmt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
column_names = enif_make_tuple_from_array(env, array, size);
|
column_names = enif_make_tuple_from_array(env, array, size);
|
||||||
free(array);
|
enif_free(array);
|
||||||
return column_names;
|
return column_names;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -579,7 +579,7 @@ do_column_types(ErlNifEnv *env, sqlite3_stmt *stmt)
|
|||||||
else if(size < 0)
|
else if(size < 0)
|
||||||
return make_error_tuple(env, "invalid_column_count");
|
return make_error_tuple(env, "invalid_column_count");
|
||||||
|
|
||||||
array = (ERL_NIF_TERM *) malloc(sizeof(ERL_NIF_TERM) * size);
|
array = (ERL_NIF_TERM *) enif_alloc(sizeof(ERL_NIF_TERM) * size);
|
||||||
if(!array)
|
if(!array)
|
||||||
return make_error_tuple(env, "no_memory");
|
return make_error_tuple(env, "no_memory");
|
||||||
|
|
||||||
@@ -593,7 +593,7 @@ do_column_types(ErlNifEnv *env, sqlite3_stmt *stmt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
column_types = enif_make_tuple_from_array(env, array, size);
|
column_types = enif_make_tuple_from_array(env, array, size);
|
||||||
free(array);
|
enif_free(array);
|
||||||
return column_types;
|
return column_types;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user