Fix to bug 568: http://bugs.mariadb.com/show_bug.cgi?id=568
Changed strtok calls to strtok_r where needed.
This commit is contained in:
@ -158,6 +158,7 @@ int sendMessage(MYSQL* server, amqp_message_t* msg)
|
|||||||
(int)((msg->properties.correlation_id.len + 1)*2+1) +
|
(int)((msg->properties.correlation_id.len + 1)*2+1) +
|
||||||
strlen(DB_INSERT),
|
strlen(DB_INSERT),
|
||||||
rval = 0;
|
rval = 0;
|
||||||
|
char* saved;
|
||||||
char *qstr = calloc(buffsz,sizeof(char)),
|
char *qstr = calloc(buffsz,sizeof(char)),
|
||||||
*rawmsg = calloc((msg->body.len + 1),sizeof(char)),
|
*rawmsg = calloc((msg->body.len + 1),sizeof(char)),
|
||||||
*clnmsg = calloc(((msg->body.len + 1)*2+1),sizeof(char)),
|
*clnmsg = calloc(((msg->body.len + 1)*2+1),sizeof(char)),
|
||||||
@ -170,9 +171,9 @@ int sendMessage(MYSQL* server, amqp_message_t* msg)
|
|||||||
|
|
||||||
sprintf(qstr,"%.*s",(int)msg->body.len,(char *)msg->body.bytes);
|
sprintf(qstr,"%.*s",(int)msg->body.len,(char *)msg->body.bytes);
|
||||||
fprintf(out_fd,"Received: %s\n",qstr);
|
fprintf(out_fd,"Received: %s\n",qstr);
|
||||||
char *ptr = strtok(qstr,"|");
|
char *ptr = strtok_r(qstr,"|",&saved);
|
||||||
sprintf(rawdate,"%s",ptr);
|
sprintf(rawdate,"%s",ptr);
|
||||||
ptr = strtok(NULL,"\n\0");
|
ptr = strtok_r(NULL,"\n\0",&saved);
|
||||||
if(ptr == NULL){
|
if(ptr == NULL){
|
||||||
fprintf(out_fd,"Message content not valid.\n");
|
fprintf(out_fd,"Message content not valid.\n");
|
||||||
rval = 1;
|
rval = 1;
|
||||||
|
|||||||
@ -141,6 +141,7 @@ FILTER_PARAMETER** read_params(int* paramc)
|
|||||||
{
|
{
|
||||||
char buffer[256];
|
char buffer[256];
|
||||||
char* token;
|
char* token;
|
||||||
|
char* saveptr;
|
||||||
char* names[64];
|
char* names[64];
|
||||||
char* values[64];
|
char* values[64];
|
||||||
int pc = 0, do_read = 1, val_len = 0;
|
int pc = 0, do_read = 1, val_len = 0;
|
||||||
@ -157,14 +158,14 @@ FILTER_PARAMETER** read_params(int* paramc)
|
|||||||
if(strcmp("done\n",buffer) == 0){
|
if(strcmp("done\n",buffer) == 0){
|
||||||
do_read = 0;
|
do_read = 0;
|
||||||
}else{
|
}else{
|
||||||
token = strtok(buffer,"=\n");
|
token = strtok_r(buffer,"=\n",&saveptr);
|
||||||
if(token!=NULL){
|
if(token!=NULL){
|
||||||
val_len = strcspn(token," \n\0");
|
val_len = strcspn(token," \n\0");
|
||||||
if((names[pc] = calloc((val_len + 1),sizeof(char))) != NULL){
|
if((names[pc] = calloc((val_len + 1),sizeof(char))) != NULL){
|
||||||
memcpy(names[pc],token,val_len);
|
memcpy(names[pc],token,val_len);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
token = strtok(NULL,"=\n");
|
token = strtok_r(NULL,"=\n",&saveptr);
|
||||||
if(token!=NULL){
|
if(token!=NULL){
|
||||||
val_len = strcspn(token," \n\0");
|
val_len = strcspn(token," \n\0");
|
||||||
if((values[pc] = calloc((val_len + 1),sizeof(char))) != NULL){
|
if((values[pc] = calloc((val_len + 1),sizeof(char))) != NULL){
|
||||||
@ -997,6 +998,7 @@ int process_opts(int argc, char** argv)
|
|||||||
int fd, buffsize = 1024;
|
int fd, buffsize = 1024;
|
||||||
int rd,rdsz, rval = 0, error = 0;
|
int rd,rdsz, rval = 0, error = 0;
|
||||||
size_t fsize;
|
size_t fsize;
|
||||||
|
char* saveptr;
|
||||||
char *buff = calloc(buffsize,sizeof(char)), *tok = NULL;
|
char *buff = calloc(buffsize,sizeof(char)), *tok = NULL;
|
||||||
|
|
||||||
/**Parse 'harness.cnf' file*/
|
/**Parse 'harness.cnf' file*/
|
||||||
@ -1027,16 +1029,16 @@ int process_opts(int argc, char** argv)
|
|||||||
instance.session_count = 1;
|
instance.session_count = 1;
|
||||||
rdsz = read(fd,buff,fsize);
|
rdsz = read(fd,buff,fsize);
|
||||||
buff[rdsz] = '\0';
|
buff[rdsz] = '\0';
|
||||||
tok = strtok(buff,"=");
|
tok = strtok_r(buff,"=",&saveptr);
|
||||||
while(tok){
|
while(tok){
|
||||||
if(!strcmp(tok,"threads")){
|
if(!strcmp(tok,"threads")){
|
||||||
tok = strtok(NULL,"\n\0");
|
tok = strtok_r(NULL,"\n\0",&saveptr);
|
||||||
instance.thrcount = strtol(tok,0,0);
|
instance.thrcount = strtol(tok,0,0);
|
||||||
}else if(!strcmp(tok,"sessions")){
|
}else if(!strcmp(tok,"sessions")){
|
||||||
tok = strtok(NULL,"\n\0");
|
tok = strtok_r(NULL,"\n\0",&saveptr);
|
||||||
instance.session_count = strtol(tok,0,0);
|
instance.session_count = strtol(tok,0,0);
|
||||||
}
|
}
|
||||||
tok = strtok(NULL,"=");
|
tok = strtok_r(NULL,"=",&saveptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,6 @@ int main(int argc, char** argv){
|
|||||||
printf("\n\n\tFilter Test Harness\n\n");
|
printf("\n\n\tFilter Test Harness\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
while(instance.running){
|
while(instance.running){
|
||||||
printf("Harness> ");
|
printf("Harness> ");
|
||||||
memset(buffer,0,256);
|
memset(buffer,0,256);
|
||||||
|
|||||||
Reference in New Issue
Block a user