Skip to content

Commit ec4defd

Browse files
committed
sqlite: fix crashes
1 parent 4a0646c commit ec4defd

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

src/node_sqlite.cc

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,8 @@ class CustomAggregate {
321321
}
322322

323323
auto recv = Undefined(isolate);
324-
LocalVector<Value> js_argv(isolate, argc + 1);
324+
LocalVector<Value> js_argv(isolate);
325+
js_argv.reserve(argc + 1);
325326

326327
js_argv.emplace_back(Local<Value>::New(isolate, agg->value));
327328

@@ -625,7 +626,8 @@ void UserDefinedFunction::xFunc(sqlite3_context* ctx,
625626
Isolate* isolate = env->isolate();
626627
auto recv = Undefined(isolate);
627628
auto fn = self->fn_.Get(isolate);
628-
LocalVector<Value> js_argv(isolate, argc);
629+
LocalVector<Value> js_argv(isolate);
630+
js_argv.reserve(argc);
629631

630632
for (int i = 0; i < argc; ++i) {
631633
sqlite3_value* value = argv[i];
@@ -2064,18 +2066,16 @@ int DatabaseSync::AuthorizerCallback(void* user_data,
20642066
CHECK(cb->IsFunction());
20652067

20662068
Local<Function> callback = cb.As<Function>();
2067-
LocalVector<Value> js_argv(isolate, 5);
2068-
2069-
// Convert SQLite authorizer parameters to JavaScript values
2070-
js_argv.emplace_back(Integer::New(isolate, action_code));
2071-
js_argv.emplace_back(
2072-
NullableSQLiteStringToValue(isolate, param1).ToLocalChecked());
2073-
js_argv.emplace_back(
2074-
NullableSQLiteStringToValue(isolate, param2).ToLocalChecked());
2075-
js_argv.emplace_back(
2076-
NullableSQLiteStringToValue(isolate, param3).ToLocalChecked());
2077-
js_argv.emplace_back(
2078-
NullableSQLiteStringToValue(isolate, param4).ToLocalChecked());
2069+
2070+
LocalVector<Value> js_argv(
2071+
isolate,
2072+
{
2073+
Integer::New(isolate, action_code),
2074+
NullableSQLiteStringToValue(isolate, param1).ToLocalChecked(),
2075+
NullableSQLiteStringToValue(isolate, param2).ToLocalChecked(),
2076+
NullableSQLiteStringToValue(isolate, param3).ToLocalChecked(),
2077+
NullableSQLiteStringToValue(isolate, param4).ToLocalChecked(),
2078+
});
20792079

20802080
MaybeLocal<Value> retval = callback->Call(
20812081
context, Undefined(isolate), js_argv.size(), js_argv.data());

0 commit comments

Comments
 (0)