From 14d59e7123e62c42ada869308ea030bebf7ea6db Mon Sep 17 00:00:00 2001 From: Hongjin Li Date: Thu, 25 Aug 2022 18:54:40 +0800 Subject: [PATCH] test: adding RUN to openharmony checker tests Signed-off-by: Hongjin Li Change-Id: I9af0d50d01f2229ecf638cd55abd62c209d9f9d5 --- clang/test/Analysis/memcpy_s.c | 40 ++++++++++------------------------ clang/test/Analysis/unix-api.c | 2 +- 2 files changed, 13 insertions(+), 29 deletions(-) diff --git a/clang/test/Analysis/memcpy_s.c b/clang/test/Analysis/memcpy_s.c index e040e181bd90..d1fa1230b601 100644 --- a/clang/test/Analysis/memcpy_s.c +++ b/clang/test/Analysis/memcpy_s.c @@ -3,13 +3,7 @@ // See https://llvm.org/LICENSE.txt for license information. // 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 +12,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