From 03eedebada9a54a7fe8f951032c4aeb71e709a77 Mon Sep 17 00:00:00 2001 From: nwrl Date: Thu, 14 Aug 2025 21:33:11 -0500 Subject: Fix logic error in trying to lock uninitialized db --- nameblocker.sp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/nameblocker.sp b/nameblocker.sp index 9351365..abc5d26 100644 --- a/nameblocker.sp +++ b/nameblocker.sp @@ -139,7 +139,7 @@ int initPrepStatements() { char sqlerr[256 + 1]; int err = 0; - SQL_LockDatabase(db); + SQL_LockDatabase(db); // crashes lol, invalid database handle if((dbInsert = SQL_PrepareQuery(db, DBINSERTSTATEMENT, sqlerr, sizeof(sqlerr))) == null && !err) err = 1; @@ -171,14 +171,10 @@ int loadFromDatabase() { patternlist = new ArrayList(ByteCountToCells(PATTERN_MAX_LEN)); if(patternlist == null) logAndFail("Could not initialize patternlist ArrayList"); - - // Get database handle - char sqlerr[256 + 1]; - db = SQLite_UseDatabase("sourcemod-local", sqlerr, sizeof(sqlerr)); - if(db == null) logAndFail("Could not connect to sql database: %s", sqlerr); - // Initialize table if it doesn't exist int err = 0; + char sqlerr[256 + 1]; + SQL_LockDatabase(db); if(!SQL_FastQuery(db, DBCREATETABLE)) { SQL_GetError(db, sqlerr, sizeof(sqlerr)); @@ -220,6 +216,11 @@ int loadFromDatabase() { public void OnAllPluginsLoaded() { + // Get database handle + char sqlerr[256 + 1]; + db = SQLite_UseDatabase("sourcemod-local", sqlerr, sizeof(sqlerr)); + if(db == null) logAndFail("Could not connect to sql database: %s", sqlerr); + initPrepStatements(); loadFromDatabase(); -- cgit v1.2.3