Use defer to close rows to avoid scan panic leak rows

This commit is contained in:
Jinzhu 2022-03-29 18:48:06 +08:00
parent 9dd6ed9c65
commit ea8509b777
2 changed files with 6 additions and 2 deletions

View File

@ -84,8 +84,10 @@ func Create(config *Config) func(db *gorm.DB) {
db.Statement.Context, db.Statement.SQL.String(), db.Statement.Vars..., db.Statement.Context, db.Statement.SQL.String(), db.Statement.Vars...,
) )
if db.AddError(err) == nil { if db.AddError(err) == nil {
defer func() {
db.AddError(rows.Close())
}()
gorm.Scan(rows, db, mode) gorm.Scan(rows, db, mode)
db.AddError(rows.Close())
} }
return return

View File

@ -20,8 +20,10 @@ func Query(db *gorm.DB) {
db.AddError(err) db.AddError(err)
return return
} }
defer func() {
db.AddError(rows.Close())
}()
gorm.Scan(rows, db, 0) gorm.Scan(rows, db, 0)
db.AddError(rows.Close())
} }
} }
} }