Skip to content

Commit 92a5a2a

Browse files
committed
C++: Solve merge conflicts by merging the two test.c test files.
1 parent d5f1c19 commit 92a5a2a

File tree

5 files changed

+54
-53
lines changed

5 files changed

+54
-53
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
| test.c:42:3:42:24 | ... = ... | potential unsafe or redundant assignment. |
2+
| test.c:43:3:43:40 | ... = ... | potential unsafe or redundant assignment. |
3+
| test.c:44:3:44:40 | ... = ... | potential unsafe or redundant assignment. |
4+
| test.c:45:3:45:44 | ... = ... | potential unsafe or redundant assignment. |
5+
| test.c:46:3:46:44 | ... = ... | potential unsafe or redundant assignment. |
6+
| test.c:47:3:47:48 | ... = ... | potential unsafe or redundant assignment. |
7+
| test.c:48:3:48:48 | ... = ... | potential unsafe or redundant assignment. |
8+
| test.c:49:3:49:50 | ... = ... | potential unsafe or redundant assignment. |
9+
| test.c:50:3:50:50 | ... = ... | potential unsafe or redundant assignment. |

cpp/ql/test/experimental/query-tests/Security/CWE/CWE-788/semmle/tests/AccessOfMemoryLocationAfterEndOfBufferUsingStrlen/AccessOfMemoryLocationAfterEndOfBufferUsingStrlen.qlref renamed to cpp/ql/test/experimental/query-tests/Security/CWE/CWE-788/semmle/tests/AccessOfMemoryLocationAfterEndOfBufferUsingStrlen.qlref

File renamed without changes.

cpp/ql/test/experimental/query-tests/Security/CWE/CWE-788/semmle/tests/AccessOfMemoryLocationAfterEndOfBufferUsingStrlen/AccessOfMemoryLocationAfterEndOfBufferUsingStrlen.expected

Lines changed: 0 additions & 9 deletions
This file was deleted.

cpp/ql/test/experimental/query-tests/Security/CWE/CWE-788/semmle/tests/AccessOfMemoryLocationAfterEndOfBufferUsingStrlen/test.c

Lines changed: 0 additions & 44 deletions
This file was deleted.

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

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,48 @@ void workFunction_2_1(char *s) {
2626
strncat(buf, s, len-strlen(buf)-1); // GOOD
2727
strncat(buf, s, len-strlen(buf)); // GOOD
2828
}
29+
30+
struct buffers
31+
{
32+
unsigned char buff1[50];
33+
unsigned char *buff2;
34+
} globalBuff1,*globalBuff2,globalBuff1_c,*globalBuff2_c;
35+
36+
37+
void badFunc0(){
38+
unsigned char buff1[12];
39+
struct buffers buffAll;
40+
struct buffers * buffAll1;
41+
42+
buff1[strlen(buff1)]=0; // BAD
43+
buffAll.buff1[strlen(buffAll.buff1)]=0; // BAD
44+
buffAll.buff2[strlen(buffAll.buff2)]=0; // BAD
45+
buffAll1->buff1[strlen(buffAll1->buff1)]=0; // BAD
46+
buffAll1->buff2[strlen(buffAll1->buff2)]=0; // BAD
47+
globalBuff1.buff1[strlen(globalBuff1.buff1)]=0; // BAD
48+
globalBuff1.buff2[strlen(globalBuff1.buff2)]=0; // BAD
49+
globalBuff2->buff1[strlen(globalBuff2->buff1)]=0; // BAD
50+
globalBuff2->buff2[strlen(globalBuff2->buff2)]=0; // BAD
51+
}
52+
void noBadFunc0(){
53+
unsigned char buff1[12],buff1_c[12];
54+
struct buffers buffAll,buffAll_c;
55+
struct buffers * buffAll1,*buffAll1_c;
56+
57+
buff1[strlen(buff1_c)]=0; // GOOD
58+
buffAll.buff1[strlen(buffAll_c.buff1)]=0; // GOOD
59+
buffAll.buff2[strlen(buffAll.buff1)]=0; // GOOD
60+
buffAll1->buff1[strlen(buffAll1_c->buff1)]=0; // GOOD
61+
buffAll1->buff2[strlen(buffAll1->buff1)]=0; // GOOD
62+
globalBuff1.buff1[strlen(globalBuff1_c.buff1)]=0; // GOOD
63+
globalBuff1.buff2[strlen(globalBuff1.buff1)]=0; // GOOD
64+
globalBuff2->buff1[strlen(globalBuff2_c->buff1)]=0; // GOOD
65+
globalBuff2->buff2[strlen(globalBuff2->buff1)]=0; // GOOD
66+
}
67+
void goodFunc0(){
68+
unsigned char buffer[12];
69+
int i;
70+
for(i = 0; i < 6; i++)
71+
buffer[i] = 'A';
72+
buffer[i]=0;
73+
}

0 commit comments

Comments
 (0)