mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
SQLite: Fix some string-sizing issues
This commit is contained in:
parent
ac064bd6af
commit
1bff4c9537
1 changed files with 5 additions and 2 deletions
|
@ -55,8 +55,11 @@ OperationResult SQLite::DoOpen(OpenResultCallback* cb, RecordValPtr options) {
|
|||
auto tuning_params = backend_options->GetField<TableVal>("tuning_params")->ToMap();
|
||||
for ( const auto& [k, v] : tuning_params ) {
|
||||
auto ks = k->AsListVal()->Idx(0)->AsStringVal();
|
||||
auto ks_sv = ks->ToStdStringView();
|
||||
auto vs = v->AsStringVal();
|
||||
std::string cmd = util::fmt("pragma %s = %s", ks->ToStdStringView().data(), vs->ToStdStringView().data());
|
||||
auto vs_sv = vs->ToStdStringView();
|
||||
std::string cmd = util::fmt("pragma %.*s = %.*s", static_cast<int>(ks_sv.size()), ks_sv.data(),
|
||||
static_cast<int>(vs_sv.size()), vs_sv.data());
|
||||
|
||||
if ( int res = sqlite3_exec(db, cmd.c_str(), NULL, NULL, &errorMsg); res != SQLITE_OK ) {
|
||||
std::string err = util::fmt("Error executing tuning pragma statement: %s", errorMsg);
|
||||
|
@ -92,7 +95,7 @@ OperationResult SQLite::DoOpen(OpenResultCallback* cb, RecordValPtr options) {
|
|||
int i = 0;
|
||||
for ( const auto& stmt : statements ) {
|
||||
sqlite3_stmt* ps;
|
||||
if ( auto prep_res = CheckError(sqlite3_prepare_v2(db, stmt.c_str(), stmt.size(), &ps, NULL));
|
||||
if ( auto prep_res = CheckError(sqlite3_prepare_v2(db, stmt.c_str(), static_cast<int>(stmt.size()), &ps, NULL));
|
||||
prep_res.code != ReturnCode::SUCCESS ) {
|
||||
Close(nullptr);
|
||||
return prep_res;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue