Skip to content

Commit 79f679a

Browse files
committed
malloc/free in nogvl setup/cleanup
1 parent 6968cb1 commit 79f679a

File tree

2 files changed

+5
-8
lines changed

2 files changed

+5
-8
lines changed

ext/tiny_tds/client.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -178,11 +178,6 @@ static void rb_tinytds_client_reset_userdata(tinytds_client_userdata *userdata)
178178
userdata->dbcancel_sent = 0;
179179
userdata->nonblocking = 0;
180180
userdata->nonblocking_errors_length = 0;
181-
if (userdata->nonblocking_errors_size) {
182-
free(userdata->nonblocking_errors);
183-
}
184-
userdata->nonblocking_errors = malloc(ERRORS_STACK_INIT_SIZE * sizeof(tinytds_errordata));
185-
userdata->nonblocking_errors_size = ERRORS_STACK_INIT_SIZE;
186181
}
187182

188183
static void rb_tinytds_client_mark(void *ptr) {
@@ -201,9 +196,6 @@ static void rb_tinytds_client_free(void *ptr) {
201196
cwrap->closed = 1;
202197
cwrap->userdata->closed = 1;
203198
}
204-
if (cwrap->userdata->nonblocking_errors_size) {
205-
free(cwrap->userdata->nonblocking_errors);
206-
}
207199
xfree(ptr);
208200
}
209201

ext/tiny_tds/result.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ static void dbcancel_ubf(DBPROCESS *client) {
8686
static void nogvl_setup(DBPROCESS *client) {
8787
GET_CLIENT_USERDATA(client);
8888
userdata->nonblocking = 1;
89+
userdata->nonblocking_errors_length = 0;
90+
userdata->nonblocking_errors = malloc(ERRORS_STACK_INIT_SIZE * sizeof(tinytds_errordata));
91+
userdata->nonblocking_errors_size = ERRORS_STACK_INIT_SIZE;
8992
}
9093

9194
static void nogvl_cleanup(DBPROCESS *client) {
@@ -108,7 +111,9 @@ static void nogvl_cleanup(DBPROCESS *client) {
108111
);
109112
}
110113

114+
free(userdata->nonblocking_errors);
111115
userdata->nonblocking_errors_length = 0;
116+
userdata->nonblocking_errors_size = 0;
112117
}
113118

114119
static RETCODE nogvl_dbsqlok(DBPROCESS *client) {

0 commit comments

Comments
 (0)