Fixes to Coverity bugs:

72743
73407
73408
73409
73415
73419
This commit is contained in:
Markus Makela
2014-11-06 15:40:11 +02:00
parent 8925f79286
commit c4d51f54cd
7 changed files with 29 additions and 21 deletions

View File

@ -34,7 +34,7 @@ int main(int argc, char** argv)
return 1;
}
int rd = 0,buffsz = getpagesize(),strsz = 0,ex_val = 0;
char buffer[buffsz], *strbuff = (char*)calloc(buffsz,sizeof(char));
char buffer[1024], *strbuff = (char*)calloc(buffsz,sizeof(char));
FILE *input,*expected;
if(mysql_library_init(num_elements, server_options, server_groups))
@ -45,25 +45,30 @@ int main(int argc, char** argv)
input = fopen(argv[1],"rb");
expected = fopen(argv[2],"rb");
memset(buffer,0,buffsz);
while((rd = fread(buffer,sizeof(char),buffsz - 1,input))){
while((rd = fread(buffer,sizeof(char),1023,input))){
/**Fill the read buffer*/
if(strsz + rd >= buffsz){
char* tmp = (char*)calloc((buffsz*2),sizeof(char));
char* tmp = realloc(strbuff,(buffsz*2)*sizeof(char));
if(!tmp){
fprintf(stderr,"Error: Cannot allocate enough memory.");
if(tmp == NULL){
free(strbuff);
fclose(input);
fclose(expected);
mysql_library_end();
fprintf(stderr,"Error: Memory allocation failed.");
return 1;
}
memcpy(tmp,strbuff,buffsz);
free(strbuff);
strbuff = tmp;
buffsz *= 2;
}
memcpy(strbuff+strsz,buffer,rd);
strsz += rd;
*(strbuff+strsz) = '\0';
char *tok,*nlptr;
@ -167,10 +172,10 @@ int main(int argc, char** argv)
gwbuf_free(buff);
}
memset(buffer,0,buffsz);
}
fclose(input);
fclose(expected);
mysql_library_end();
free(strbuff);
return ex_val;
}