From a0a3bc62c3fc345430912e6c5e677c6dccaab135 Mon Sep 17 00:00:00 2001 From: kosovpavel Date: Tue, 27 Sep 2022 13:45:11 +0300 Subject: [PATCH] [OHOS] Fix tests for code checker Signed-off-by: kosovpavel --- clang/test/Analysis/memcpy_s.c | 39 +++++++++++----------------------- clang/test/Analysis/unix-api.c | 2 +- 2 files changed, 13 insertions(+), 28 deletions(-) diff --git a/clang/test/Analysis/memcpy_s.c b/clang/test/Analysis/memcpy_s.c index e040e181bd90..d945a4b4a969 100644 --- a/clang/test/Analysis/memcpy_s.c +++ b/clang/test/Analysis/memcpy_s.c @@ -4,12 +4,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception //===----------------------------------------------------------------------===// -#define __STDC_WANT_LIB_EXT1__ 1 -#include -#include -#include -#include -#include +// RUN: %clang_analyze_cc1 -analyzer-checker=openharmony -verify %s int memcpy_s(char *dst, int dstLen, char *src, int srcLen) { return dstLen; @@ -18,34 +13,24 @@ int memcpy_s(char *dst, int dstLen, char *src, int srcLen) { void check1(int dstLen, int srcLen) { char dstStr[dstLen]; char srcStr[srcLen]; - memcpy_s(dstStr, sizeof(dstStr), srcStr, srcLen); // expected-warning{{src length may be larger than dst length}} + memcpy_s(dstStr, sizeof(dstStr), srcStr, srcLen); // expected-warning{{memcpy_s(): src length may be larger than dst length}} } void check2() { - int dstLen = 20; - int srcLen = 10; - char dstStr[dstLen]; - char srcStr[srcLen]; - memcpy_s(dstStr, sizeof(dstStr), srcStr, srcLen); // no-warning + char dstStr[20]; + char srcStr[10]; + memcpy_s(dstStr, sizeof(dstStr), srcStr, 10); // no-warning } void check3() { - int dstLen = 10; - int srcLen = 20; - char dstStr[dstLen]; - char srcStr[srcLen]; - memcpy_s(dstStr, sizeof(dstStr), srcStr, srcLen); // expected-warning{{src length may be larger than dst length}} + char dstStr[10]; + char srcStr[20]; + memcpy_s(dstStr, sizeof(dstStr), srcStr, 20); // expected-warning{{memcpy_s(): src length may be larger than dst length}} } void check4() { - int dstLen = 20; - int srcLen = 10; - char dstStr[dstLen]; - char srcStr[srcLen]; - int offset = 15; - // srcLen > dstStr[offset]'s length, bug reported - memcpy_s(&dstStr[offset], srcLen, srcStr, srcLen); // expected-warning{{src length may be larger than dst length}} - offset = 5; - // srcLen < dstStr[offset]'s length, no bug reported - memcpy_s(&dstStr[offset], srcLen, srcStr, srcLen); // no-warning + char dstStr[20]; + char srcStr[10]; + memcpy_s(&dstStr[15], 10, srcStr, 10); // expected-warning{{memcpy_s(): src length may be larger than dst length}} + memcpy_s(&dstStr[5], 10, srcStr, 10); // no-warning } diff --git a/clang/test/Analysis/unix-api.c b/clang/test/Analysis/unix-api.c index 722702fc0c89..4adca811bfee 100644 --- a/clang/test/Analysis/unix-api.c +++ b/clang/test/Analysis/unix-api.c @@ -4,7 +4,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception //===----------------------------------------------------------------------===// -// RUN: %clang_analyze_cc1 -analyzer-checker=core,unix.API -verify %s +// RUN: %clang_analyze_cc1 -analyzer-checker=core,unix.API,openharmony -verify %s #ifndef O_RDONLY #define O_RDONLY 0 -- Gitee