From 6e02ffd7f5fb96e92f333440e202b7acb0f42860 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 27 Jan 2023 19:36:46 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20v202301271540=20logging.go=20panic=20?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=EF=BC=8C=E5=AF=BC=E8=87=B4=E5=86=85=E6=A0=B8?= =?UTF-8?q?=E5=B4=A9=E6=BA=83=20Fix=20https://github.com/siyuan-note/siyua?= =?UTF-8?q?n/issues/7179?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/filesys/tree.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kernel/filesys/tree.go b/kernel/filesys/tree.go index 845075d09..fd6e067f1 100644 --- a/kernel/filesys/tree.go +++ b/kernel/filesys/tree.go @@ -91,6 +91,9 @@ func LoadTree(boxID, p string, luteEngine *lute.Lute) (ret *parse.Tree, err erro } ial := ReadDocIAL(parentData) + if 1 > len(ial) { + logging.LogWarnf("tree [%s] is corrupted", filePath) + } title := ial["title"] if "" == title { title = "Untitled" @@ -266,6 +269,10 @@ func parseJSON2Tree(boxID, p string, jsonData []byte, luteEngine *lute.Lute) (re func ReadDocIAL(data []byte) (ret map[string]string) { ret = map[string]string{} - jsoniter.Get(data, "Properties").ToVal(&ret) + val := jsoniter.Get(data, "Properties") + if nil == val { + return + } + val.ToVal(&ret) return }