From bb394021743b5648ffe193e73d4570e0c8d8e8de Mon Sep 17 00:00:00 2001 From: 54liuyao <54liuyao@163.com> Date: Wed, 18 Sep 2024 16:22:14 +0800 Subject: [PATCH] fix(stream):check null pointer --- source/libs/stream/src/streamSessionState.c | 9 +++++++++ source/libs/stream/src/streamState.c | 3 +++ 2 files changed, 12 insertions(+) diff --git a/source/libs/stream/src/streamSessionState.c b/source/libs/stream/src/streamSessionState.c index 5eb55467b1..a192f03947 100644 --- a/source/libs/stream/src/streamSessionState.c +++ b/source/libs/stream/src/streamSessionState.c @@ -81,6 +81,9 @@ bool inSessionWindow(SSessionKey* pKey, TSKEY ts, int64_t gap) { SStreamStateCur* createSessionStateCursor(SStreamFileState* pFileState) { SStreamStateCur* pCur = createStreamStateCursor(); + if (pCur == NULL) { + return NULL; + } pCur->pStreamFileState = pFileState; return pCur; } @@ -533,6 +536,9 @@ static SStreamStateCur* seekKeyCurrentPrev_buff(SStreamFileState* pFileState, co if (index >= 0) { pCur = createSessionStateCursor(pFileState); + if (pCur == NULL) { + return NULL; + } pCur->buffIndex = index; if (pIndex) { *pIndex = index; @@ -634,6 +640,9 @@ SStreamStateCur* countWinStateSeekKeyPrev(SStreamFileState* pFileState, const SS pBuffCur->buffIndex = 0; } else if (taosArrayGetSize(pWinStates) > 0) { pBuffCur = createSessionStateCursor(pFileState); + if (pBuffCur == NULL) { + return NULL; + } pBuffCur->buffIndex = 0; } diff --git a/source/libs/stream/src/streamState.c b/source/libs/stream/src/streamState.c index 0e2d31cc8f..e1edebc861 100644 --- a/source/libs/stream/src/streamState.c +++ b/source/libs/stream/src/streamState.c @@ -530,6 +530,9 @@ void streamStateCopyBackend(SStreamState* src, SStreamState* dst) { } SStreamStateCur* createStreamStateCursor() { SStreamStateCur* pCur = taosMemoryCalloc(1, sizeof(SStreamStateCur)); + if (pCur == NULL) { + return NULL; + } pCur->buffIndex = -1; return pCur; }