fixed huffman tree memory leak
This commit is contained in:
parent
b8efcd14ec
commit
5cb50f7922
|
@ -1 +1 @@
|
|||
Subproject commit 0ca5b15a8eac40327dd737be52c926fa5675712c
|
||||
Subproject commit ceda5bf9fcd7836509ac97dcc0056b3f1dd48cc5
|
|
@ -18,6 +18,7 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
#if defined(WINDOWS)
|
||||
int main(int argc, char *argv[]) {
|
||||
printf("welcome to use taospack tools v1.3 for windows.\n");
|
||||
|
@ -601,7 +602,6 @@ void test_threadsafe_double(int thread_count){
|
|||
|
||||
}
|
||||
|
||||
|
||||
void unitTestFloat() {
|
||||
|
||||
float ft1 [] = {1.11, 2.22, 3.333};
|
||||
|
@ -662,7 +662,50 @@ void unitTestFloat() {
|
|||
free(ft2);
|
||||
free(buff);
|
||||
free(output);
|
||||
}
|
||||
|
||||
void leakFloat() {
|
||||
|
||||
int cnt = sizeof(g_ft1)/sizeof(float);
|
||||
float* floats = g_ft1;
|
||||
int algorithm = 2;
|
||||
|
||||
// compress
|
||||
const char* input = (const char*)floats;
|
||||
int input_len = cnt * sizeof(float);
|
||||
int output_len = input_len + 1024;
|
||||
char* output = (char*) malloc(output_len);
|
||||
char* buff = (char*) malloc(input_len);
|
||||
int buff_len = input_len;
|
||||
|
||||
int ret_len = 0;
|
||||
ret_len = tsCompressFloatLossy(input, input_len, cnt, output, output_len, algorithm, buff, buff_len);
|
||||
|
||||
if(ret_len == 0) {
|
||||
printf(" compress float error.\n");
|
||||
free(buff);
|
||||
free(output);
|
||||
return ;
|
||||
}
|
||||
|
||||
float* ft2 = (float*)malloc(input_len);
|
||||
ret_len = tsDecompressFloatLossy(output, ret_len, cnt, (char*)ft2, input_len, algorithm, buff, buff_len);
|
||||
if(ret_len == 0) {
|
||||
printf(" decompress float error.\n");
|
||||
}
|
||||
|
||||
free(ft2);
|
||||
free(buff);
|
||||
free(output);
|
||||
}
|
||||
|
||||
|
||||
void leakTest(){
|
||||
for(int i=0; i< 90000000000000; i++){
|
||||
if(i%10000==0)
|
||||
printf(" ---------- %d ---------------- \n", i);
|
||||
leakFloat();
|
||||
}
|
||||
}
|
||||
|
||||
#define DB_CNT 500
|
||||
|
@ -689,7 +732,7 @@ extern char Compressor [];
|
|||
// ----------------- main ----------------------
|
||||
//
|
||||
int main(int argc, char *argv[]) {
|
||||
printf("welcome to use taospack tools v1.3\n");
|
||||
printf("welcome to use taospack tools v1.5\n");
|
||||
|
||||
//printf(" sizeof(int)=%d\n", (int)sizeof(int));
|
||||
//printf(" sizeof(long)=%d\n", (int)sizeof(long));
|
||||
|
@ -753,6 +796,9 @@ int main(int argc, char *argv[]) {
|
|||
if(strcmp(argv[1], "-mem") == 0) {
|
||||
memTest();
|
||||
}
|
||||
else if(strcmp(argv[1], "-leak") == 0) {
|
||||
leakTest();
|
||||
}
|
||||
}
|
||||
else{
|
||||
unitTestFloat();
|
||||
|
|
Loading…
Reference in New Issue