From c5abada99e5d0500233b539169632357e10a57b1 Mon Sep 17 00:00:00 2001 From: shenglian zhou Date: Sat, 10 Dec 2022 11:46:47 +0800 Subject: [PATCH] fix: fix gpd error --- source/libs/executor/src/executor.c | 5 +++-- source/libs/function/src/udfd.c | 7 ++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/source/libs/executor/src/executor.c b/source/libs/executor/src/executor.c index 6fca2858dc..834c581fed 100644 --- a/source/libs/executor/src/executor.c +++ b/source/libs/executor/src/executor.c @@ -109,8 +109,9 @@ static int32_t doSetStreamBlock(SOperatorInfo* pOperator, void* input, size_t nu SStreamScanInfo* pInfo = pOperator->info; - ASSERT(pInfo->validBlockIndex == 0); - ASSERT(taosArrayGetSize(pInfo->pBlockLists) == 0); + if (pInfo->validBlockIndex != 0 || taosArrayGetSize(pInfo->pBlockLists) == 0) { + return TSDB_CODE_APP_ERROR; + } if (type == STREAM_INPUT__MERGED_SUBMIT) { // ASSERT(numOfBlocks > 1); diff --git a/source/libs/function/src/udfd.c b/source/libs/function/src/udfd.c index 2f3db636c8..2ab1e8b64c 100644 --- a/source/libs/function/src/udfd.c +++ b/source/libs/function/src/udfd.c @@ -744,10 +744,15 @@ bool isUdfdUvMsgComplete(SUdfdUvConn *pipe) { } void udfdHandleRequest(SUdfdUvConn *conn) { + char* inputBuf = taosMemoryMalloc(conn->inputLen); + memcpy(inputBuf, conn->inputBuf, conn->inputLen); + int32_t inputLen = conn->inputLen; + taosMemoryFree(conn->inputBuf); + uv_work_t * work = taosMemoryMalloc(sizeof(uv_work_t)); SUvUdfWork *udfWork = taosMemoryMalloc(sizeof(SUvUdfWork)); udfWork->client = conn->client; - udfWork->input = uv_buf_init(conn->inputBuf, conn->inputLen); + udfWork->input = uv_buf_init(inputBuf, inputLen); conn->inputBuf = NULL; conn->inputLen = 0; conn->inputCap = 0;