Skip to content

Commit f3cbf86

Browse files
authored
Merge pull request #17703 from jketema/odr-test
C++: Fix ODR violations in tests
2 parents 1f1b1b7 + c90d0fa commit f3cbf86

File tree

17 files changed

+115
-120
lines changed

17 files changed

+115
-120
lines changed

cpp/ql/test/experimental/query-tests/Security/CWE/CWE-125/semmle/tests/test.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ int wprintf (const wchar_t* format, ...);
66
int strlen( const char * string );
77
int checkErrors();
88

9-
void goodTest0()
9+
static void goodTest0()
1010
{
1111
char * ptr = "123456789";
1212
int ret;
@@ -17,7 +17,7 @@ void goodTest0()
1717
ptr += ret;
1818
}
1919
}
20-
void goodTest1(const char* ptr)
20+
static void goodTest1(const char* ptr)
2121
{
2222
int ret;
2323
int len;
@@ -27,7 +27,7 @@ void goodTest1(const char* ptr)
2727
ptr += ret;
2828
}
2929
}
30-
void goodTest2(char* ptr)
30+
static void goodTest2(char* ptr)
3131
{
3232
int ret;
3333
ptr[10]=0;
@@ -38,7 +38,7 @@ void goodTest2(char* ptr)
3838
}
3939
}
4040

41-
void goodTest3(const char* ptr)
41+
static void goodTest3(const char* ptr)
4242
{
4343
int ret;
4444
int len;
@@ -48,7 +48,7 @@ void goodTest3(const char* ptr)
4848
ptr += ret;
4949
}
5050
}
51-
void goodTest4(const char* ptr)
51+
static void goodTest4(const char* ptr)
5252
{
5353
int ret;
5454
int len;
@@ -58,7 +58,7 @@ void goodTest4(const char* ptr)
5858
ptr += ret;
5959
}
6060
}
61-
void badTest1(const char* ptr)
61+
static void badTest1(const char* ptr)
6262
{
6363
int ret;
6464
int len;
@@ -68,7 +68,7 @@ void badTest1(const char* ptr)
6868
ptr += ret;
6969
}
7070
}
71-
void badTest2(const char* ptr)
71+
static void badTest2(const char* ptr)
7272
{
7373
int ret;
7474
int len;
@@ -79,7 +79,7 @@ void badTest2(const char* ptr)
7979
}
8080
}
8181

82-
void goodTest5(const char* ptr,wchar_t *wc,int wc_len)
82+
static void goodTest5(const char* ptr,wchar_t *wc,int wc_len)
8383
{
8484
int ret;
8585
int len;
@@ -96,7 +96,7 @@ void goodTest5(const char* ptr,wchar_t *wc,int wc_len)
9696
}
9797
}
9898

99-
void badTest3(const char* ptr,int wc_len)
99+
static void badTest3(const char* ptr,int wc_len)
100100
{
101101
int ret;
102102
int len;
@@ -113,7 +113,7 @@ void badTest3(const char* ptr,int wc_len)
113113
wc++;
114114
}
115115
}
116-
void badTest4(const char* ptr,int wc_len)
116+
static void badTest4(const char* ptr,int wc_len)
117117
{
118118
int ret;
119119
int len;
@@ -130,7 +130,7 @@ void badTest4(const char* ptr,int wc_len)
130130
wc++;
131131
}
132132
}
133-
void badTest5(const char* ptr,int wc_len)
133+
static void badTest5(const char* ptr,int wc_len)
134134
{
135135
int ret;
136136
int len;
@@ -148,7 +148,7 @@ void badTest5(const char* ptr,int wc_len)
148148
}
149149
}
150150

151-
void badTest6(const char* ptr,int wc_len)
151+
static void badTest6(const char* ptr,int wc_len)
152152
{
153153
int ret;
154154
int len;
@@ -171,7 +171,7 @@ void badTest6(const char* ptr,int wc_len)
171171
ptr+=ret;
172172
}
173173
}
174-
void badTest7(const char* ptr,int wc_len)
174+
static void badTest7(const char* ptr,int wc_len)
175175
{
176176
int ret;
177177
int len;
@@ -188,7 +188,7 @@ void badTest7(const char* ptr,int wc_len)
188188
ptr+=ret;
189189
}
190190
}
191-
void badTest8(const char* ptr,wchar_t *wc)
191+
static void badTest8(const char* ptr,wchar_t *wc)
192192
{
193193
int ret;
194194
int len;

cpp/ql/test/experimental/query-tests/Security/CWE/CWE-125/semmle/tests/test1.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ typedef unsigned int size_t;
2424
void* calloc (size_t num, size_t size);
2525
void* malloc (size_t size);
2626

27-
void badTest1(void *src, int size) {
27+
static void badTest1(void *src, int size) {
2828
WideCharToMultiByte(CP_ACP, 0, (LPCWSTR)src, -1, (LPSTR)src, size, 0, 0); // BAD
2929
MultiByteToWideChar(CP_ACP, 0, (LPCSTR)src, -1, (LPCWSTR)src, 30); // BAD
3030
}
@@ -39,43 +39,43 @@ void goodTest2(){
3939
}
4040
printf("%s\n", dst);
4141
}
42-
void badTest2(){
42+
static void badTest2(){
4343
wchar_t src[] = L"0123456789ABCDEF";
4444
char dst[16];
4545
WideCharToMultiByte(CP_UTF8, 0, src, -1, dst, 16, NULL, NULL); // BAD
4646
printf("%s\n", dst);
4747
}
48-
void goodTest3(){
48+
static void goodTest3(){
4949
char src[] = "0123456789ABCDEF";
5050
int size = MultiByteToWideChar(CP_UTF8, 0, src,sizeof(src),NULL,0);
5151
wchar_t * dst = (wchar_t*)calloc(size + 1, sizeof(wchar_t));
5252
MultiByteToWideChar(CP_UTF8, 0, src, -1, dst, size+1); // GOOD
5353
}
54-
void badTest3(){
54+
static void badTest3(){
5555
char src[] = "0123456789ABCDEF";
5656
int size = MultiByteToWideChar(CP_UTF8, 0, src,sizeof(src),NULL,0);
5757
wchar_t * dst = (wchar_t*)calloc(size + 1, 1);
5858
MultiByteToWideChar(CP_UTF8, 0, src, -1, dst, size+1); // BAD
5959
}
60-
void goodTest4(){
60+
static void goodTest4(){
6161
char src[] = "0123456789ABCDEF";
6262
int size = MultiByteToWideChar(CP_UTF8, 0, src,sizeof(src),NULL,0);
6363
wchar_t * dst = (wchar_t*)malloc((size + 1)*sizeof(wchar_t));
6464
MultiByteToWideChar(CP_UTF8, 0, src, -1, dst, size+1); // GOOD
6565
}
66-
void badTest4(){
66+
static void badTest4(){
6767
char src[] = "0123456789ABCDEF";
6868
int size = MultiByteToWideChar(CP_UTF8, 0, src,sizeof(src),NULL,0);
6969
wchar_t * dst = (wchar_t*)malloc(size + 1);
7070
MultiByteToWideChar(CP_UTF8, 0, src, -1, dst, size+1); // BAD
7171
}
72-
int goodTest5(void *src){
72+
static int goodTest5(void *src){
7373
return WideCharToMultiByte(CP_ACP, 0, (LPCWSTR)src, -1, 0, 0, 0, 0); // GOOD
7474
}
75-
int badTest5 (void *src) {
75+
static int badTest5 (void *src) {
7676
return WideCharToMultiByte(CP_ACP, 0, (LPCWSTR)src, -1, 0, 3, 0, 0); // BAD
7777
}
78-
void goodTest6(WCHAR *src)
78+
static void goodTest6(WCHAR *src)
7979
{
8080
int size;
8181
char dst[5] ="";
@@ -87,7 +87,7 @@ void goodTest6(WCHAR *src)
8787
WideCharToMultiByte(CP_ACP, 0, src, -1, dst, sizeof(dst), 0, 0); // GOOD
8888
printf("%s\n", dst);
8989
}
90-
void badTest6(WCHAR *src)
90+
static void badTest6(WCHAR *src)
9191
{
9292
char dst[5] ="";
9393
WideCharToMultiByte(CP_ACP, 0, src, -1, dst, 260, 0, 0); // BAD

cpp/ql/test/experimental/query-tests/Security/CWE/CWE-125/semmle/tests/test2.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ size_t _mbstowcs_l(wchar_t *wcstr,const char *mbstr,size_t count, _locale_t loca
1111
size_t mbsrtowcs(wchar_t *wcstr,const char *mbstr,size_t count, mbstate_t *mbstate);
1212

1313

14-
void badTest1(void *src, int size) {
14+
static void badTest1(void *src, int size) {
1515
mbstowcs((wchar_t*)src,(char*)src,size); // BAD
1616
_locale_t locale;
1717
_mbstowcs_l((wchar_t*)src,(char*)src,size,locale); // BAD
1818
mbstate_t *mbstate;
1919
mbsrtowcs((wchar_t*)src,(char*)src,size,mbstate); // BAD
2020
}
21-
void goodTest2(){
21+
static void goodTest2(){
2222
char src[] = "0123456789ABCDEF";
2323
wchar_t dst[16];
2424
int res = mbstowcs(dst, src,16); // GOOD
@@ -29,43 +29,43 @@ void goodTest2(){
2929
}
3030
printf("%s\n", dst);
3131
}
32-
void badTest2(){
32+
static void badTest2(){
3333
char src[] = "0123456789ABCDEF";
3434
wchar_t dst[16];
3535
mbstowcs(dst, src,16); // BAD
3636
printf("%s\n", dst);
3737
}
38-
void goodTest3(){
38+
static void goodTest3(){
3939
char src[] = "0123456789ABCDEF";
4040
int size = mbstowcs(NULL, src,NULL);
4141
wchar_t * dst = (wchar_t*)calloc(size + 1, sizeof(wchar_t));
4242
mbstowcs(dst, src,size+1); // GOOD
4343
}
44-
void badTest3(){
44+
static void badTest3(){
4545
char src[] = "0123456789ABCDEF";
4646
int size = mbstowcs(NULL, src,NULL);
4747
wchar_t * dst = (wchar_t*)calloc(size + 1, 1);
4848
mbstowcs(dst, src,size+1); // BAD
4949
}
50-
void goodTest4(){
50+
static void goodTest4(){
5151
char src[] = "0123456789ABCDEF";
5252
int size = mbstowcs(NULL, src,NULL);
5353
wchar_t * dst = (wchar_t*)malloc((size + 1)*sizeof(wchar_t));
5454
mbstowcs(dst, src,size+1); // GOOD
5555
}
56-
void badTest4(){
56+
static void badTest4(){
5757
char src[] = "0123456789ABCDEF";
5858
int size = mbstowcs(NULL, src,NULL);
5959
wchar_t * dst = (wchar_t*)malloc(size + 1);
6060
mbstowcs(dst, src,size+1); // BAD
6161
}
62-
int goodTest5(void *src){
62+
static int goodTest5(void *src){
6363
return mbstowcs(NULL, (char*)src,NULL); // GOOD
6464
}
65-
int badTest5 (void *src) {
65+
static int badTest5 (void *src) {
6666
return mbstowcs(NULL, (char*)src,3); // BAD
6767
}
68-
void goodTest6(void *src){
68+
static void goodTest6(void *src){
6969
wchar_t dst[5];
7070
int size = mbstowcs(NULL, (char*)src,NULL);
7171
if(size>=sizeof(dst)){
@@ -75,7 +75,7 @@ void goodTest6(void *src){
7575
mbstowcs(dst, (char*)src,sizeof(dst)); // GOOD
7676
printf("%s\n", dst);
7777
}
78-
void badTest6(void *src){
78+
static void badTest6(void *src){
7979
wchar_t dst[5];
8080
mbstowcs(dst, (char*)src,260); // BAD
8181
printf("%s\n", dst);

cpp/ql/test/experimental/query-tests/Security/CWE/CWE-125/semmle/tests/test3.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ void goodTest1(unsigned char *src){
99
unsigned char dst[50];
1010
_mbsnbcpy(dst,src,sizeof(dst)); // GOOD
1111
}
12-
size_t badTest1(unsigned char *src){
12+
static size_t badTest1(unsigned char *src){
1313
int cb = 0;
1414
unsigned char dst[50];
1515
while( cb < sizeof(dst) )
1616
dst[cb++]=*src++; // BAD
1717
return _mbclen(dst);
1818
}
19-
void goodTest2(unsigned char *src){
19+
static void goodTest2(unsigned char *src){
2020

2121
int cb = 0;
2222
unsigned char dst[50];
@@ -27,7 +27,7 @@ void goodTest2(unsigned char *src){
2727
src=_mbsinc(src);
2828
}
2929
}
30-
void badTest2(unsigned char *src){
30+
static void badTest2(unsigned char *src){
3131

3232
int cb = 0;
3333
unsigned char dst[50];
@@ -38,11 +38,11 @@ void badTest2(unsigned char *src){
3838
src=_mbsinc(src);
3939
}
4040
}
41-
void goodTest3(){
41+
static void goodTest3(){
4242
wchar_t name[50];
4343
name[sizeof(name) / sizeof(*name) - 1] = L'\0'; // GOOD
4444
}
45-
void badTest3(){
45+
static void badTest3(){
4646
wchar_t name[50];
4747
name[sizeof(name) - 1] = L'\0'; // BAD
4848
}

cpp/ql/test/library-tests/dataflow/dataflow-tests/flowOut.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ int* deref(int** p) { // $ ast-def=p ir-def=*p ir-def=**p
7878
return q;
7979
}
8080

81-
void test1() {
81+
void flowout_test1() {
8282
int x = 0;
8383
int* p = &x;
8484
deref(&p)[0] = source();
@@ -95,7 +95,7 @@ void addtaint2(int** p) { // $ ast-def=p ir-def=*p ir-def=**p
9595
addtaint1(q);
9696
}
9797

98-
void test2() {
98+
void flowout_test2() {
9999
int x = 0;
100100
int* p = &x;
101101
addtaint2(&p);

cpp/ql/test/library-tests/dataflow/dataflow-tests/self-Iterator.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ template<> struct std::iterator_traits<unsigned long>
1515
};
1616

1717

18-
int test() {
18+
int iterator_test() {
1919
unsigned long x = source();
2020
sink(x); // $ ast ir
2121
}

0 commit comments

Comments
 (0)