From 364e8fbc210ba71c2cff5bb479860ac1130e178a Mon Sep 17 00:00:00 2001 From: nytpu Date: Thu, 18 Mar 2021 13:34:02 -0600 Subject: [PATCH] fix null dereference when getting old title --- core/structs.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/structs.go b/core/structs.go index 8df60ac..693fa0b 100644 --- a/core/structs.go +++ b/core/structs.go @@ -94,6 +94,9 @@ func (d *FullData) InsertFeed(new *Feed, remote string) { oldFeed, ok := d.Feeds[remote] if !ok || !reflect.DeepEqual(new, oldFeed) { // Feeds are different, or there was never an old one + if oldFeed != nil && new.Title == "" && oldFeed.Title != "" { + new.Title = oldFeed.Title + } d.Feeds[remote] = new d.FeedsMu.Unlock() } else { @@ -104,9 +107,12 @@ func (d *FullData) InsertFeed(new *Feed, remote string) { // InsertPage will insert or update a core.Page in a core.FullData func (d *FullData) InsertPage(new *Page, remote string) { d.PagesMu.Lock() - _, ok := d.Pages[remote] + oldPage, ok := d.Pages[remote] if !ok || d.Pages[remote].Hash != new.Hash { // pages are different, or there was never an old one + if oldPage != nil && new.Title == "" && oldPage.Title != "" { + new.Title = oldPage.Title + } d.Pages[remote] = new d.PagesMu.Unlock() } else {