diff --git a/modules/markup/orgmode/orgmode.go b/modules/markup/orgmode/orgmode.go index f9223a18b..6b6d622d7 100644 --- a/modules/markup/orgmode/orgmode.go +++ b/modules/markup/orgmode/orgmode.go @@ -5,6 +5,7 @@ package markup import ( + "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/markup" "code.gitea.io/gitea/modules/markup/markdown" @@ -31,7 +32,13 @@ func (Parser) Extensions() []string { } // Render renders orgmode rawbytes to HTML -func Render(rawBytes []byte, urlPrefix string, metas map[string]string, isWiki bool) []byte { +func Render(rawBytes []byte, urlPrefix string, metas map[string]string, isWiki bool) (result []byte) { + defer func() { + if err := recover(); err != nil { + log.Error(4, "Panic in orgmode.Render: %v Just returning the rawBytes", err) + result = rawBytes + } + }() htmlFlags := blackfriday.HTML_USE_XHTML htmlFlags |= blackfriday.HTML_SKIP_STYLE htmlFlags |= blackfriday.HTML_OMIT_CONTENTS @@ -40,9 +47,8 @@ func Render(rawBytes []byte, urlPrefix string, metas map[string]string, isWiki b URLPrefix: urlPrefix, IsWiki: isWiki, } - - result := goorgeous.Org(rawBytes, renderer) - return result + result = goorgeous.Org(rawBytes, renderer) + return } // RenderString reners orgmode string to HTML string