@@ -250,7 +250,13 @@ func main() {
250250 time .Sleep (30 * time .Second )
251251 return
252252 }
253- defer func () { _ = db .Close () }()
253+
254+ defer func () {
255+ err := db .Close ()
256+ if err != nil {
257+ _ = catcher .Error ("failed to close database connection" , err , map [string ]any {"process" : "plugin_com.utmstack.config" })
258+ }
259+ }()
254260
255261 filters , err := getFilters (db )
256262 if err != nil {
@@ -446,11 +452,11 @@ func getFilters(db *sql.DB) ([]Filter, error) {
446452 }
447453
448454 filter := Filter {}
449- filter . FromVar (
450- id ,
451- name ,
452- body ,
453- )
455+
456+ if err := filter . FromVar ( id , name , body ); err != nil {
457+ continue
458+ }
459+
454460 filters = append (filters , filter )
455461 }
456462
@@ -487,7 +493,9 @@ func getAssets(db *sql.DB) ([]Asset, error) {
487493
488494 asset := Asset {}
489495
490- asset .FromVar (name , hostnames , ips , confidentiality , integrity , availability )
496+ if err := asset .FromVar (name , hostnames , ips , confidentiality , integrity , availability ); err != nil {
497+ continue
498+ }
491499
492500 assets = append (assets , asset )
493501 }
@@ -532,10 +540,12 @@ func getRules(db *sql.DB) ([]Rule, error) {
532540
533541 dataTypes , err := getRuleDataTypes (db , id )
534542 if err != nil {
535- return nil , err
543+ continue
536544 }
537545
538- rule .FromVar (id , dataTypes , ruleName , confidentiality , integrity , availability , category , technique , description , references , where , adversary , deduplicate , after )
546+ if err := rule .FromVar (id , dataTypes , ruleName , confidentiality , integrity , availability , category , technique , description , references , where , adversary , deduplicate , after ); err != nil {
547+ continue
548+ }
539549
540550 rules = append (rules , rule )
541551 }
0 commit comments