From 2812130d753d61d80b75280f38ac2fe18c15d7ea Mon Sep 17 00:00:00 2001 From: wgroeneveld Date: Sun, 25 Apr 2021 15:45:00 +0200 Subject: [PATCH] just to be sure: recover from panics in processSourceBody()! --- app/webmention/recv/receive.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/webmention/recv/receive.go b/app/webmention/recv/receive.go index 6f133af..1ab6e7a 100644 --- a/app/webmention/recv/receive.go +++ b/app/webmention/recv/receive.go @@ -46,6 +46,11 @@ func (recv *Receiver) processSourceBody(body string, wm mf.Mention) { log.Warn().Str("target", wm.Target).Msg("ABORT: no mention of target found in html src of source!") return } + defer func() { + if r := recover(); r != nil { + log.Error().Str("panic", fmt.Sprintf("%q", r)).Stringer("wm", wm).Msg("ABORT: panic recovery while processing wm") + } + }() data := microformats.Parse(strings.NewReader(body), wm.SourceUrl()) indieweb := recv.convertBodyToIndiewebData(body, wm, data)