From: Matt Joiner Date: Mon, 23 May 2016 10:08:18 +0000 (+1000) Subject: Torrent.MetaInfo: don't crash if info isn't available yet X-Git-Tag: v1.0.0~697 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=d8dc3ad239d71deeda0675bb8e1a919e9d796708;p=btrtrc.git Torrent.MetaInfo: don't crash if info isn't available yet --- diff --git a/torrent.go b/torrent.go index 6cedebf3..6848a6fd 100644 --- a/torrent.go +++ b/torrent.go @@ -456,17 +456,17 @@ func (t *Torrent) announceList() (al [][]string) { // Returns a run-time generated MetaInfo that includes the info bytes and // announce-list as currently known to the client. -func (t *Torrent) newMetaInfo() *metainfo.MetaInfo { - if t.metadataBytes == nil { - panic("info bytes not set") - } - return &metainfo.MetaInfo{ - Info: *t.info, +func (t *Torrent) newMetaInfo() (mi *metainfo.MetaInfo) { + mi = &metainfo.MetaInfo{ CreationDate: time.Now().Unix(), Comment: "dynamic metainfo from client", CreatedBy: "go.torrent", AnnounceList: t.announceList(), } + if t.info != nil { + mi.Info = *t.info + } + return } func (t *Torrent) bytesLeft() (left int64) {