⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 url1.cpp

📁 贡献一份commoncpp2,有兴趣的可以研究一下
💻 CPP
字号:
#include <cc++/common.h>// This was a test base64 stuff#ifdef	CCXX_NAMESPACESusing namespace std;using namespace ost;#endif#define BUFLEN 512char buf1[BUFLEN];char buf2[BUFLEN];bool errorOccurred = false;char status[256] = "";void printBug(const char*msg){	errorOccurred = true;	printf("status = %s\n%s!\n",status,msg);}const char fillChar='&';void initBuf(char* buf){	memset(buf,fillChar,BUFLEN);}void checkBuf(char* buf,int prev,int size){	int i;	for(i=0;i<prev;++i)		if (buf[i] != fillChar)		{			printBug("buffer overflow founded");			return;		}	for(i=prev+size;i<BUFLEN;++i)		if (buf[i] != fillChar)		{			printBug("buffer overflow founded");			return;		}}// check with binary functionsvoid check1(unsigned char* s,size_t len,size_t buflen1,size_t buflen2,bool checkEqual=false){	initBuf(buf1);	b64Encode(s,len,buf1+16,buflen1);	checkBuf(buf1,16,buflen1);	initBuf(buf2);	b64Decode(buf1+16,(unsigned char*)buf2+16,buflen2);	checkBuf(buf2,16,buflen2);	if (checkEqual && memcmp(s,buf2+16,len) != 0)		printBug ("buffer different");}// check with old stringvoid check2(const char* s,size_t buflen,bool checkEqual=false){	if (!buflen) return;	initBuf(buf1);	b64Encode(s,buf1+16,buflen);	checkBuf(buf1,16,buflen);	initBuf(buf2);	size_t buflen2 = strlen(buf1+16)+1;	b64Decode(buf1+16,buf2+16);	checkBuf(buf2,16,buflen2);	if (checkEqual && strcmp(s,buf2+16) != 0)	{		printBug ("buffer different");		printf("'%s' != '%s'\n'%s'\n",s,buf2+16,buf1+16);	}}// check buffer overflow on stringvoid checkStringOverflow(char* s,unsigned int len){	bool execCheck2 = (strlen(s) == len);	for(unsigned int l1=0;l1<32;++l1)	{		sprintf(status,"%s %d",s,l1);		if (execCheck2)			check2(s,l1,l1 >= (len+2)/3*4+1);		for(unsigned int l2=0;l2<32;++l2)			check1((unsigned char*)s,len,l1,l2,					(l1 >= (len+2)/3*4+1) 					&& (l2 >= len) );	}}int main(){	checkStringOverflow("",0);	checkStringOverflow("aaa",3);	if (!errorOccurred)		printf("All seem ok\n");	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -