Close fd properly in save

Fixes #1057
This commit is contained in:
Zachary Yedidia
2018-03-30 15:59:26 -04:00
parent 26da85dcb1
commit c606c51c8b
2 changed files with 4 additions and 3 deletions

View File

@@ -220,6 +220,7 @@ func NewBuffer(reader io.Reader, size int64, path string) *Buffer {
// If either savecursor or saveundo is turned on, we need to load the serialized information // If either savecursor or saveundo is turned on, we need to load the serialized information
// from ~/.config/micro/buffers // from ~/.config/micro/buffers
file, err := os.Open(configDir + "/buffers/" + EscapePath(b.AbsPath)) file, err := os.Open(configDir + "/buffers/" + EscapePath(b.AbsPath))
defer file.Close()
if err == nil { if err == nil {
var buffer SerializedBuffer var buffer SerializedBuffer
decoder := gob.NewDecoder(file) decoder := gob.NewDecoder(file)
@@ -242,7 +243,6 @@ func NewBuffer(reader io.Reader, size int64, path string) *Buffer {
} }
} }
} }
file.Close()
} }
if !b.Settings["fastdirty"].(bool) { if !b.Settings["fastdirty"].(bool) {
@@ -505,6 +505,7 @@ func (b *Buffer) SaveAs(filename string) error {
} }
f, err := os.OpenFile(absFilename, os.O_WRONLY|os.O_CREATE, 0644) f, err := os.OpenFile(absFilename, os.O_WRONLY|os.O_CREATE, 0644)
defer f.Close()
if err != nil { if err != nil {
return err return err
} }

View File

@@ -604,11 +604,11 @@ func (m *Messenger) Display() {
func (m *Messenger) LoadHistory() { func (m *Messenger) LoadHistory() {
if GetGlobalOption("savehistory").(bool) { if GetGlobalOption("savehistory").(bool) {
file, err := os.Open(configDir + "/buffers/history") file, err := os.Open(configDir + "/buffers/history")
defer file.Close()
var decodedMap map[string][]string var decodedMap map[string][]string
if err == nil { if err == nil {
decoder := gob.NewDecoder(file) decoder := gob.NewDecoder(file)
err = decoder.Decode(&decodedMap) err = decoder.Decode(&decodedMap)
file.Close()
if err != nil { if err != nil {
m.Error("Error loading history:", err) m.Error("Error loading history:", err)
@@ -638,6 +638,7 @@ func (m *Messenger) SaveHistory() {
} }
file, err := os.Create(configDir + "/buffers/history") file, err := os.Create(configDir + "/buffers/history")
defer file.Close()
if err == nil { if err == nil {
encoder := gob.NewEncoder(file) encoder := gob.NewEncoder(file)
@@ -646,7 +647,6 @@ func (m *Messenger) SaveHistory() {
m.Error("Error saving history:", err) m.Error("Error saving history:", err)
return return
} }
file.Close()
} }
} }
} }