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:
parent
cd99d6c1dd
commit
4e5c4c0b6a
@ -158,6 +158,7 @@ int sendMessage(MYSQL* server, amqp_message_t* msg)
|
||||
(int)((msg->properties.correlation_id.len + 1)*2+1) +
|
||||
strlen(DB_INSERT),
|
||||
rval = 0;
|
||||
char* saved;
|
||||
char *qstr = calloc(buffsz,sizeof(char)),
|
||||
*rawmsg = calloc((msg->body.len + 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);
|
||||
fprintf(out_fd,"Received: %s\n",qstr);
|
||||
char *ptr = strtok(qstr,"|");
|
||||
char *ptr = strtok_r(qstr,"|",&saved);
|
||||
sprintf(rawdate,"%s",ptr);
|
||||
ptr = strtok(NULL,"\n\0");
|
||||
ptr = strtok_r(NULL,"\n\0",&saved);
|
||||
if(ptr == NULL){
|
||||
fprintf(out_fd,"Message content not valid.\n");
|
||||
rval = 1;
|
||||
|
@ -141,6 +141,7 @@ FILTER_PARAMETER** read_params(int* paramc)
|
||||
{
|
||||
char buffer[256];
|
||||
char* token;
|
||||
char* saveptr;
|
||||
char* names[64];
|
||||
char* values[64];
|
||||
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){
|
||||
do_read = 0;
|
||||
}else{
|
||||
token = strtok(buffer,"=\n");
|
||||
token = strtok_r(buffer,"=\n",&saveptr);
|
||||
if(token!=NULL){
|
||||
val_len = strcspn(token," \n\0");
|
||||
if((names[pc] = calloc((val_len + 1),sizeof(char))) != NULL){
|
||||
memcpy(names[pc],token,val_len);
|
||||
}
|
||||
}
|
||||
token = strtok(NULL,"=\n");
|
||||
token = strtok_r(NULL,"=\n",&saveptr);
|
||||
if(token!=NULL){
|
||||
val_len = strcspn(token," \n\0");
|
||||
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 rd,rdsz, rval = 0, error = 0;
|
||||
size_t fsize;
|
||||
char* saveptr;
|
||||
char *buff = calloc(buffsize,sizeof(char)), *tok = NULL;
|
||||
|
||||
/**Parse 'harness.cnf' file*/
|
||||
@ -1027,16 +1029,16 @@ int process_opts(int argc, char** argv)
|
||||
instance.session_count = 1;
|
||||
rdsz = read(fd,buff,fsize);
|
||||
buff[rdsz] = '\0';
|
||||
tok = strtok(buff,"=");
|
||||
tok = strtok_r(buff,"=",&saveptr);
|
||||
while(tok){
|
||||
if(!strcmp(tok,"threads")){
|
||||
tok = strtok(NULL,"\n\0");
|
||||
tok = strtok_r(NULL,"\n\0",&saveptr);
|
||||
instance.thrcount = strtol(tok,0,0);
|
||||
}else if(!strcmp(tok,"sessions")){
|
||||
tok = strtok(NULL,"\n\0");
|
||||
tok = strtok_r(NULL,"\n\0",&saveptr);
|
||||
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");
|
||||
}
|
||||
|
||||
|
||||
while(instance.running){
|
||||
printf("Harness> ");
|
||||
memset(buffer,0,256);
|
||||
|
Loading…
x
Reference in New Issue
Block a user