From 3a53fd4a9acca4e07ace2c4ff1f261a5d28b1689 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 1 Dec 2024 23:30:36 +0800 Subject: [PATCH] :bug: Fix NPE --- kernel/sql/asset_content_query.go | 3 +++ kernel/sql/database.go | 6 ++++++ kernel/sql/history.go | 6 ++++++ 3 files changed, 15 insertions(+) diff --git a/kernel/sql/asset_content_query.go b/kernel/sql/asset_content_query.go index 9b78f3f2e..fcc8136fd 100644 --- a/kernel/sql/asset_content_query.go +++ b/kernel/sql/asset_content_query.go @@ -185,5 +185,8 @@ func queryAssetContent(query string, args ...interface{}) (*sql.Rows, error) { if "" == query { return nil, errors.New("statement is empty") } + if nil == assetContentDB { + return nil, errors.New("database is nil") + } return assetContentDB.Query(query, args...) } diff --git a/kernel/sql/database.go b/kernel/sql/database.go index e35008e66..2ffcd93c7 100644 --- a/kernel/sql/database.go +++ b/kernel/sql/database.go @@ -1316,6 +1316,9 @@ func queryRow(query string, args ...interface{}) *sql.Row { logging.LogErrorf("statement is empty") return nil } + if nil == db { + return nil + } return db.QueryRow(query, args...) } @@ -1324,6 +1327,9 @@ func query(query string, args ...interface{}) (*sql.Rows, error) { if "" == query { return nil, errors.New("statement is empty") } + if nil == db { + return nil, errors.New("database is nil") + } return db.Query(query, args...) } diff --git a/kernel/sql/history.go b/kernel/sql/history.go index 3ccc02841..60e4ba12c 100644 --- a/kernel/sql/history.go +++ b/kernel/sql/history.go @@ -72,6 +72,9 @@ func QueryHistory(stmt string) (ret []map[string]interface{}, err error) { } func SelectHistoriesRawStmt(stmt string) (ret []*History) { + if nil == historyDB { + return + } rows, err := historyDB.Query(stmt) if err != nil { logging.LogWarnf("sql query [%s] failed: %s", stmt, err) @@ -101,6 +104,9 @@ func queryHistory(query string, args ...interface{}) (*sql.Rows, error) { if "" == query { return nil, errors.New("statement is empty") } + if nil == historyDB { + return nil, errors.New("database is nil") + } return historyDB.Query(query, args...) }