|
对于安全越来越增加的代码,大家有什么想法,写在下面分享一下
对于越来越多的网路安全有哪些考虑,也可以分享一下
越界字符
1. void main(void) {
2. char Password[80];
3. puts("Enter 8 character password:");
4. gets(Password);
...
5. }
复制和链接
1. int main(int argc, char *argv[]) {
2. char name[2048];
3. strcpy(name, argv[1]);
4. strcat(name, " = ");
5. strcat(name, argv[2]);
...
6. }
边界拷贝
1. #include <iostream.h>
2. int main() {
3. char buf[12];
4. cin >> buf;
5. cout << "echo: " << buf << endl;
6. }
无效终止
int main(int argc, char* argv[]) {
char a[16];
char b[16];
char c[32];
strncpy(a, "0123456789abcdef", sizeof(a));
strncpy(b, "0123456789abcdef", sizeof(b));
strncpy(c, a, sizeof(c));
}
非安全调用
1. int main(int argc, char *argv[]) {
2. int i = 0;
3. char buff[128];
4. char *arg1 = argv[1];
5. while (arg1 != '\0' ) {
6. buff = arg1;
7. i++;
8. }
9. buff = '\0';
10. printf("buff = %s\n", buff);
11. }
上一篇:【46周】ISO的审核 下一篇:【48周】质量原则 |
|