Просмотр исходного кода

plugins/range: fixed memory leak in sqlite3 usage

Signed-off-by: Andrea Barberio <insomniac@slackware.it>
Andrea Barberio 1 год назад
Родитель
Сommit
321f8a6a0c
1 измененных файлов с 3 добавлено и 2 удалено
  1. 3 2
      plugins/range/storage.go

+ 3 - 2
plugins/range/storage.go

@@ -35,8 +35,8 @@ func loadRecords(db *sql.DB) (map[string]*Record, error) {
 	defer rows.Close()
 	var (
 		mac, ip, hostname string
-		expiry  int
-		records = make(map[string]*Record)
+		expiry            int
+		records           = make(map[string]*Record)
 	)
 	for rows.Next() {
 		if err := rows.Scan(&mac, &ip, &expiry, &hostname); err != nil {
@@ -64,6 +64,7 @@ func (p *PluginState) saveIPAddress(mac net.HardwareAddr, record *Record) error
 	if err != nil {
 		return fmt.Errorf("statement preparation failed: %w", err)
 	}
+	defer stmt.Close()
 	if _, err := stmt.Exec(
 		mac.String(),
 		record.IP.String(),