From e5b8157e6e467f7587045ae74e134a0ac2b0b39d Mon Sep 17 00:00:00 2001 From: Alex Duan <417921451@qq.com> Date: Tue, 8 Mar 2022 10:00:08 +0800 Subject: [PATCH] [TS-207](query): strncmp with large length --- src/query/src/qExtbuffer.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/src/query/src/qExtbuffer.c b/src/query/src/qExtbuffer.c index 85c1276de0..a17784c71f 100644 --- a/src/query/src/qExtbuffer.c +++ b/src/query/src/qExtbuffer.c @@ -394,16 +394,9 @@ int32_t columnValueAscendingComparator(char *f1, char *f2, int32_t type, int32_t return 1; else if( len1 < len2) return -1; - } - // compare zero length - if (len1 == 0 && len2 == 0) - return 0; - if(len1 == 0) - return -1; - if(len2 == 0) - return 1; + } // compare context - int32_t ret = strncmp(varDataVal(f1), varDataVal(f2), len1); + int32_t ret = strncmp(varDataVal(f1), varDataVal(f2), len1>len2 ? len1:len2); if (ret == 0) { return 0; } @@ -420,15 +413,8 @@ int32_t columnValueAscendingComparator(char *f1, char *f2, int32_t type, int32_t else if( len1 < len2) return -1; } - // compare zero length - if (len1 == 0 && len2 == 0) - return 0; - if(len1 == 0) - return -1; - if(len2 == 0) - return 1; // compare context - int32_t ret = tasoUcs4Compare(varDataVal(f1), varDataVal(f2), len1); + int32_t ret = tasoUcs4Compare(varDataVal(f1), varDataVal(f2), len1>len2 ? len1:len2); if (ret == 0) { return 0; } -- GitLab