1
0
Fork 0
mirror of https://github.com/Eggbertx/gochan.git synced 2025-08-06 05:26:22 -07:00

Fix changes suggested by sqlclosecheck

This commit is contained in:
Eggbertx 2024-05-24 16:10:07 -07:00
parent 27a0142864
commit 1032042472
12 changed files with 87 additions and 27 deletions

View file

@ -238,6 +238,7 @@ func NewNameBan(name string, isRegex bool, boardID int, staffID int, staffNote s
if err != nil {
return nil, err
}
defer stmt.Close()
if _, err = stmt.Exec(ban.BoardID, staffID, staffNote, name, isRegex); err != nil {
return nil, err
}
@ -252,7 +253,7 @@ func NewNameBan(name string, isRegex bool, boardID int, staffID int, staffNote s
ban.StaffNote = staffNote
ban.Username = name
ban.IsRegex = isRegex
return &ban, nil
return &ban, stmt.Close()
}
func GetNameBans(boardID int, limit int) ([]UsernameBan, error) {
@ -373,6 +374,7 @@ func NewFilenameBan(filename string, isRegex bool, boardID int, staffID int, sta
if err != nil {
return nil, err
}
defer stmt.Close()
if _, err = stmt.Exec(ban.BoardID, staffID, staffNote, filename, isRegex); err != nil {
return nil, err
}
@ -387,7 +389,7 @@ func NewFilenameBan(filename string, isRegex bool, boardID int, staffID int, sta
ban.StaffNote = staffNote
ban.Filename = filename
ban.IsRegex = isRegex
return &ban, nil
return &ban, stmt.Close()
}
func (ub filenameOrUsernameBanBase) IsGlobalBan() bool {
@ -498,6 +500,7 @@ func NewFileChecksumBan(checksum string, fingerprinter string, boardID int, staf
if err != nil {
return nil, err
}
defer stmt.Close()
if _, err = stmt.Exec(
ban.BoardID, staffID, staffNote, checksum, fingerprinter, banIP, banReason,
); err != nil {
@ -512,7 +515,7 @@ func NewFileChecksumBan(checksum string, fingerprinter string, boardID int, staf
ban.StaffID = staffID
ban.StaffNote = staffNote
ban.Checksum = checksum
return &ban, nil
return &ban, stmt.Close()
}
func (fb *FileBan) IsGlobalBan() bool {

View file

@ -65,6 +65,8 @@ func GetAllBoards(onlyNonHidden bool) ([]Board, error) {
if err != nil {
return nil, err
}
defer rows.Close()
var boards []Board
for rows.Next() {
var board Board
@ -75,7 +77,6 @@ func GetAllBoards(onlyNonHidden bool) ([]Board, error) {
&board.MaxMessageLength, &board.MinMessageLength, &board.AllowEmbeds, &board.RedirectToThread, &board.RequireFile,
&board.EnableCatalog,
); err != nil {
rows.Close()
return nil, err
}
boards = append(boards, board)

View file

@ -129,9 +129,9 @@ func (db *GCDB) ExecSQL(query string, values ...any) (sql.Result, error) {
if err != nil {
return nil, err
}
defer stmt.Close()
result, err := stmt.Exec(values...)
if err != nil {
stmt.Close()
return nil, err
}
return result, stmt.Close()
@ -154,9 +154,10 @@ func (db *GCDB) ExecContextSQL(ctx context.Context, tx *sql.Tx, sqlStr string, v
if err != nil {
return nil, err
}
defer stmt.Close()
result, err := stmt.ExecContext(ctx, values...)
if err != nil {
stmt.Close()
return nil, err
}
return result, stmt.Close()
@ -180,7 +181,12 @@ func (db *GCDB) ExecTxSQL(tx *sql.Tx, query string, values ...any) (sql.Result,
if err != nil {
return nil, err
}
return stmt.Exec(values...)
defer stmt.Close()
res, err := stmt.Exec(values...)
if err != nil {
return res, err
}
return res, stmt.Close()
}
/*
@ -240,8 +246,9 @@ func (db *GCDB) QueryRowContextSQL(ctx context.Context, tx *sql.Tx, query string
if err != nil {
return err
}
defer stmt.Close()
if err = stmt.QueryRowContext(ctx, values...).Scan(out...); err != nil {
stmt.Close()
return err
}
return stmt.Close()
@ -268,8 +275,9 @@ func (db *GCDB) QueryRowTxSQL(tx *sql.Tx, query string, values, out []any) error
if err != nil {
return err
}
defer stmt.Close()
if err = stmt.QueryRow(values...).Scan(out...); err != nil {
stmt.Close()
return err
}
return stmt.Close()
@ -314,7 +322,13 @@ func (db *GCDB) QueryContextSQL(ctx context.Context, tx *sql.Tx, query string, a
if err != nil {
return nil, err
}
return stmt.QueryContext(ctx, a...)
defer stmt.Close()
rows, err := stmt.QueryContext(ctx, a...)
if err != nil {
return rows, err
}
return rows, stmt.Close()
}
/*

View file

@ -384,6 +384,8 @@ func (p *Post) Insert(bumpThread bool, boardID int, locked bool, stickied bool,
if err != nil {
return err
}
defer stmt.Close()
if _, err = stmt.Exec(
p.ThreadID, p.IsTopPost, p.IP, p.Name, p.Tripcode, p.IsRoleSignature, p.Email, p.Subject,
p.Message, p.MessageRaw, p.Password, p.Flag, p.Country,
@ -398,11 +400,19 @@ func (p *Post) Insert(bumpThread bool, boardID int, locked bool, stickied bool,
if err != nil {
return err
}
defer stmt2.Close()
if _, err = stmt2.Exec(p.ThreadID); err != nil {
return err
}
if err = stmt2.Close(); err != nil {
return err
}
}
return tx.Commit()
if err = tx.Commit(); err != nil {
return err
}
return stmt.Close()
}
func (p *Post) WebPath() string {

View file

@ -68,6 +68,7 @@ func (p *Post) AttachFile(upload *Upload) error {
if err != nil {
return err
}
defer stmt.Close()
if upload.FileOrder < 1 {
upload.FileOrder, err = p.nextFileOrder()
@ -85,7 +86,10 @@ func (p *Post) AttachFile(upload *Upload) error {
if upload.ID, err = getLatestID("DBPREFIXfiles", tx); err != nil {
return err
}
return tx.Commit()
if err = tx.Commit(); err != nil {
return err
}
return stmt.Close()
}
// GetUploadFilenameAndBoard returns the filename (or an empty string) and

View file

@ -143,7 +143,12 @@ func ExecTxSQL(tx *sql.Tx, sqlStr string, values ...any) (sql.Result, error) {
if err != nil {
return nil, err
}
return stmt.Exec(values...)
defer stmt.Close()
res, err := stmt.Exec(values...)
if err != nil {
return res, err
}
return res, stmt.Close()
}
/*
@ -271,7 +276,13 @@ func QueryTxSQL(tx *sql.Tx, query string, a ...any) (*sql.Rows, error) {
if err != nil {
return nil, err
}
return stmt.Query(a...)
defer stmt.Close()
rows, err := stmt.Query(a...)
if err != nil {
return rows, err
}
return rows, stmt.Close()
}
func ParseSQLTimeString(str string) (time.Time, error) {
@ -294,7 +305,11 @@ func getLatestID(tableName string, tx *sql.Tx) (id int, err error) {
if err != nil {
return 0, err
}
err = stmt.QueryRow().Scan(&id)
defer stmt.Close()
if err = stmt.QueryRow().Scan(&id); err != nil {
return
}
err = stmt.Close()
} else {
err = QueryRowSQL(query, nil, []any{&id})
}

View file

@ -75,10 +75,15 @@ func tcPrepareContextSQL(t *testing.T, mock sqlmock.Sqlmock, tC *testCase[prepar
}
func TestPrepareContextSQL(t *testing.T) {
_, err := PrepareContextSQL(context.Background(), "", nil)
stmt, err := PrepareContextSQL(context.Background(), "", nil)
if !assert.Error(t, err) {
return
}
defer func() {
if stmt != nil {
assert.NoError(t, stmt.Close())
}
}()
mock := setupMockDB(t)
testCases := []testCase[prepareFunc]{