Ver código fonte

Z991239-5349 #comment fea: In my opinion, It is the main reason making garbled text that it have not init the text.

chenliangyu 1 ano atrás
pai
commit
6a960698c0

+ 1 - 0
Framework/RvcLogSdk/base64_openssl.h

@@ -41,6 +41,7 @@ char* openssl_base64_encode(char* decoded_bytes, size_t decoded_length) {
 	BIO_get_mem_ptr(b64, &bufPtr);
 
 	buff = (char*)malloc(bufPtr->length + 1);
+	memset(buff, 0, bufPtr->length + 1);
 	memcpy(buff, bufPtr->data, bufPtr->length);
 	buff[bufPtr->length] = 0;
 

+ 3 - 0
Framework/RvcLogSdk/inner_log.c

@@ -50,6 +50,7 @@ char* AllocLogBuf(void)
 	if (!rcv_log_buf)
 	{
 		rcv_log_buf = (char*)malloc(MFLOG_BUFSIZE + 1);
+		memset(rcv_log_buf, 0, MFLOG_BUFSIZE + 1);
 		return rcv_log_buf;
 	}
 	else {
@@ -277,9 +278,11 @@ int _rvclog_init_internal(RvcLog* rvc_log)
 
 	rvc_log->file_handle = NULL;
 	rvc_log->log_buf = (char*)malloc(MFLOG_BUFSIZE + 1);
+	memset(rvc_log->log_buf, 0, MFLOG_BUFSIZE + 1);
 	rvc_log->log_buf[MFLOG_BUFSIZE] = 0;
 
 	rvc_log->write_log_buf = (char*)malloc(MF_LOG_STR_BUFSIZE);
+	memset(rvc_log->write_log_buf, 0, MF_LOG_STR_BUFSIZE);
 	rvc_log->write_log_buf_size = MF_LOG_STR_BUFSIZE;
 	rvc_log->write_log_len = 0;
 

+ 1 - 0
Framework/RvcLogSdk/log_api.cpp

@@ -209,6 +209,7 @@ int LOG_OS_HttpPost(const char* url,
 	int retCode = 480;
 	HttpClientResponseResult result;
 	HttpClientRequestConfig config(HttpRequestMethod::POST, url);
+	config.SetTimeout(60);
 
 	std::string str((const char*)data);
 

+ 10 - 0
Framework/RvcLogSdk/log_db.cpp

@@ -451,6 +451,7 @@ log_group_builder* db_read_table_last_log(log_db_manager* manager, char *table_n
 				convertStrToUnChar(input_str_data, input_data);
 				int output_length = input_length;
 				output_data = (char*)malloc(input_length);
+				memset(output_data, 0, input_length);
 				CMBSM4DecryptWithECB((unsigned char*)manager->config->PersistentEncryptPassword, 
 					input_data, input_length, (unsigned char*)output_data, &output_length);
 
@@ -473,11 +474,13 @@ log_group_builder* db_read_table_last_log(log_db_manager* manager, char *table_n
 
 				int SM4_length = decoded_length;
 				char* SM4_data = (char*)malloc(decoded_length);
+				memset(SM4_data, 0, decoded_length);
 				CMBSM4DecryptWithECB((unsigned char*)manager->config->PersistentEncryptPassword,
 					(unsigned char*)decoded_bytes, decoded_length, (unsigned char*)SM4_data, &SM4_length);
 
 				uLongf uncompress_length = SM4_length;
 				output_data = (char*)malloc(uncompress_length);
+				memset(output_data, 0, uncompress_length);
 				uncompress((unsigned char*)output_data, &uncompress_length, (unsigned char*)SM4_data, SM4_length);
 
 
@@ -587,9 +590,13 @@ log_group_builder* db_read_table_last_logs(log_db_manager* manager, int count) {
 				char* input_str_data = (char*)q.getStringField(COLUMN_Content.c_str());
 				int input_length = strlen(input_str_data) / 2;
 				unsigned char* input_data = (unsigned char*)malloc(input_length);
+				memset(input_data, 0, input_length);
+
 				convertStrToUnChar(input_str_data, input_data);
 				int output_length = input_length;
 				output_data = (char*)malloc(input_length);
+				memset(output_data, 0, input_length);
+
 				CMBSM4DecryptWithECB((unsigned char*)manager->config->PersistentEncryptPassword,
 					input_data, input_length, (unsigned char*)output_data, &output_length);
 
@@ -612,11 +619,14 @@ log_group_builder* db_read_table_last_logs(log_db_manager* manager, int count) {
 
 				int SM4_length = decoded_length;
 				char *SM4_data = (char*)malloc(decoded_length);
+				memset(SM4_data, 0, decoded_length);
 				CMBSM4DecryptWithECB((unsigned char*)manager->config->PersistentEncryptPassword,
 					(unsigned char*)decoded_bytes, decoded_length, (unsigned char*)SM4_data, &SM4_length);
 
 				uLongf uncompress_length = SM4_length * 3;
 				output_data = (char*)malloc(uncompress_length);
+				memset(output_data, 0, uncompress_length);
+
 				uncompress((unsigned char*)output_data, &uncompress_length, (unsigned char*)SM4_data, SM4_length);
 
 				log.buffer = (char*)output_data;