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
// from ~/.config/micro/buffers
file, err := os.Open(configDir + "/buffers/" + EscapePath(b.AbsPath))
defer file.Close()
if err == nil {
var buffer SerializedBuffer
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) {
@@ -505,6 +505,7 @@ func (b *Buffer) SaveAs(filename string) error {
}
f, err := os.OpenFile(absFilename, os.O_WRONLY|os.O_CREATE, 0644)
defer f.Close()
if err != nil {
return err
}

View File

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