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

Handle case where server does not return body

This was causing a nil pointer dereference before.

Fixes ~migadu/alps#121.
master
Drew DeVault 3 лет назад
Родитель
Сommit
793f261b62
1 измененных файлов: 6 добавлений и 1 удалений
  1. +6
    -1
      plugins/base/imap.go

+ 6
- 1
plugins/base/imap.go Просмотреть файл

@@ -510,7 +510,12 @@ func getMessagePart(conn *imapclient.Client, mboxName string, uid uint32, partPa
return nil, nil, fmt.Errorf("server didn't return message") return nil, nil, fmt.Errorf("server didn't return message")
} }


headerReader := bufio.NewReader(msg.GetBody(&partHeaderSection))
body := msg.GetBody(&partHeaderSection)
if body == nil {
return nil, nil, fmt.Errorf("server didn't return message")
}

headerReader := bufio.NewReader(body)
h, err := textproto.ReadHeader(headerReader) h, err := textproto.ReadHeader(headerReader)
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("failed to read part header: %v", err) return nil, nil, fmt.Errorf("failed to read part header: %v", err)


Загрузка…
Отмена
Сохранить