From f8be93571b997b01962af3da668f3d30eae021f5 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Sun, 29 Sep 2024 10:46:38 +0800 Subject: [PATCH 1/2] fix: memory leak when alloc error occurs --- source/dnode/vnode/src/tsdb/tsdbFSet2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/dnode/vnode/src/tsdb/tsdbFSet2.c b/source/dnode/vnode/src/tsdb/tsdbFSet2.c index fc78fec2ea..9d12e41b82 100644 --- a/source/dnode/vnode/src/tsdb/tsdbFSet2.c +++ b/source/dnode/vnode/src/tsdb/tsdbFSet2.c @@ -71,6 +71,7 @@ static int32_t tsdbSttLvlInitRef(STsdb *pTsdb, const SSttLvl *lvl1, SSttLvl **lv } code = TARRAY2_APPEND(lvl[0]->fobjArr, fobj1); if (code) { + tsdbTFileObjUnref(fobj1); tsdbSttLvlClear(lvl); return code; } From 7cdb54033baf73d3971bd91d11697029824a6838 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Sun, 29 Sep 2024 11:38:43 +0800 Subject: [PATCH 2/2] enh: make CI happy --- source/dnode/vnode/src/tsdb/tsdbFSet2.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/dnode/vnode/src/tsdb/tsdbFSet2.c b/source/dnode/vnode/src/tsdb/tsdbFSet2.c index 9d12e41b82..fc681f9753 100644 --- a/source/dnode/vnode/src/tsdb/tsdbFSet2.c +++ b/source/dnode/vnode/src/tsdb/tsdbFSet2.c @@ -71,7 +71,9 @@ static int32_t tsdbSttLvlInitRef(STsdb *pTsdb, const SSttLvl *lvl1, SSttLvl **lv } code = TARRAY2_APPEND(lvl[0]->fobjArr, fobj1); if (code) { - tsdbTFileObjUnref(fobj1); + if (tsdbTFileObjUnref(fobj1) != 0) { + tsdbError("failed to unref file obj, fobj:%p", fobj1); + } tsdbSttLvlClear(lvl); return code; }