diff --git a/source/libs/wal/src/walWrite.c b/source/libs/wal/src/walWrite.c index d025ca3781a9db5262a09498cdd65a6652d019fc..cbf77afe6ffeb09a2695c5deefee6ae948d7a428 100644 --- a/source/libs/wal/src/walWrite.c +++ b/source/libs/wal/src/walWrite.c @@ -251,11 +251,14 @@ static int walWriteIndex(SWal *pWal, int64_t ver, int64_t offset) { int64_t walWriteWithSyncInfo(SWal *pWal, int64_t index, tmsg_t msgType, SSyncLogMeta syncMeta, const void *body, int32_t bodyLen) { - if (pWal == NULL) return -1; int code = 0; // no wal if (pWal->cfg.level == TAOS_WAL_NOLOG) return 0; + if (bodyLen > WAL_MAX_SIZE) { + terrno = TSDB_CODE_WAL_SIZE_LIMIT; + return -1; + } if (index == pWal->vers.lastVer + 1) { if (taosArrayGetSize(pWal->fileInfoSet) == 0) {