Fixed canonizer.c passing NULL to various functions.

This commit is contained in:
Markus Makela
2014-09-04 18:19:15 +03:00
parent a8700c12a1
commit 2c470d7bf4

View File

@ -66,32 +66,41 @@ int main(int argc, char** argv)
qbuff = malloc(sizeof(GWBUF*)*lines); qbuff = malloc(sizeof(GWBUF*)*lines);
for(i = 0;i<lines;i++){
qbuff[i] = NULL;
}
i = 0; i = 0;
tok = strtok(buffer,"\n"); tok = strtok(buffer,"\n");
while(tok){ while(tok){
qin = strdup(tok); if(strlen(tok) > 0){
psize = strlen(qin); qin = strdup(tok);
qbuff[i] = gwbuf_alloc(psize + 6); psize = strlen(qin);
*(qbuff[i]->sbuf->data + 0) = (unsigned char)psize; qbuff[i] = gwbuf_alloc(psize + 6);
*(qbuff[i]->sbuf->data + 1) = (unsigned char)(psize>>8); *(qbuff[i]->sbuf->data + 0) = (unsigned char)psize;
*(qbuff[i]->sbuf->data + 2) = (unsigned char)(psize>>16); *(qbuff[i]->sbuf->data + 1) = (unsigned char)(psize>>8);
*(qbuff[i]->sbuf->data + 4) = 0x03; *(qbuff[i]->sbuf->data + 2) = (unsigned char)(psize>>16);
memcpy(qbuff[i]->sbuf->data + 5,qin,psize); *(qbuff[i]->sbuf->data + 4) = 0x03;
*(qbuff[i]->sbuf->data + 5 + psize) = 0x00; memcpy(qbuff[i]->sbuf->data + 5,qin,psize);
tok = strtok(NULL,"\n"); *(qbuff[i]->sbuf->data + 5 + psize) = 0x00;
free(qin); tok = strtok(NULL,"\n");
i++; free(qin);
i++;
}
} }
fdout = open(argv[2],O_TRUNC|O_CREAT|O_WRONLY,S_IRWXU|S_IXGRP|S_IXOTH); fdout = open(argv[2],O_TRUNC|O_CREAT|O_WRONLY,S_IRWXU|S_IXGRP|S_IXOTH);
for(i = 0;i<lines;i++){ for(i = 0;i<lines;i++){
parse_query(qbuff[i]); if(qbuff[i]){
tok = skygw_get_canonical(qbuff[i]); parse_query(qbuff[i]);
write(fdout,tok,strlen(tok)); tok = skygw_get_canonical(qbuff[i]);
write(fdout,"\n",1); write(fdout,tok,strlen(tok));
gwbuf_free(qbuff[i]); write(fdout,"\n",1);
gwbuf_free(qbuff[i]);
}
} }
close(fdin); close(fdin);