Fixes to Coverity defects 87308, 87307, 87306, 87074, 87068.
This commit is contained in:
parent
2477043d11
commit
3bad5dc814
@ -1572,7 +1572,7 @@ char* skygw_get_qtype_str(
|
|||||||
skygw_query_op_t query_classifier_get_operation(GWBUF* querybuf)
|
skygw_query_op_t query_classifier_get_operation(GWBUF* querybuf)
|
||||||
{
|
{
|
||||||
LEX* lex = get_lex(querybuf);
|
LEX* lex = get_lex(querybuf);
|
||||||
skygw_query_op_t operation;
|
skygw_query_op_t operation = QUERY_OP_UNDEFINED;
|
||||||
if(lex){
|
if(lex){
|
||||||
switch(lex->sql_command){
|
switch(lex->sql_command){
|
||||||
case SQLCOM_SELECT:
|
case SQLCOM_SELECT:
|
||||||
|
@ -678,12 +678,14 @@ void *key, *value;
|
|||||||
if (!(*keywrite)(fd, key))
|
if (!(*keywrite)(fd, key))
|
||||||
{
|
{
|
||||||
close(fd);
|
close(fd);
|
||||||
|
hashtable_iterator_free(iter);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if ((value = hashtable_fetch(table, key)) == NULL ||
|
if ((value = hashtable_fetch(table, key)) == NULL ||
|
||||||
(*valuewrite)(fd, value) == 0)
|
(*valuewrite)(fd, value) == 0)
|
||||||
{
|
{
|
||||||
close(fd);
|
close(fd);
|
||||||
|
hashtable_iterator_free(iter);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
rval++;
|
rval++;
|
||||||
@ -691,10 +693,13 @@ void *key, *value;
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Now go back and write the count of entries */
|
/* Now go back and write the count of entries */
|
||||||
lseek(fd, 7L, SEEK_SET);
|
if(lseek(fd, 7L, SEEK_SET) != -1)
|
||||||
|
{
|
||||||
write(fd, &rval, sizeof(rval));
|
write(fd, &rval, sizeof(rval));
|
||||||
|
}
|
||||||
|
|
||||||
close(fd);
|
close(fd);
|
||||||
|
hashtable_iterator_free(iter);
|
||||||
return rval;
|
return rval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -639,7 +639,7 @@ void link_rules(char* rule, FW_INSTANCE* instance)
|
|||||||
|
|
||||||
bool match_any;
|
bool match_any;
|
||||||
char *tok, *ruleptr, *userptr, *modeptr;
|
char *tok, *ruleptr, *userptr, *modeptr;
|
||||||
char **saveptr;
|
char **saveptr = NULL;
|
||||||
RULELIST* rulelist = NULL;
|
RULELIST* rulelist = NULL;
|
||||||
|
|
||||||
userptr = strstr(rule,"users ");
|
userptr = strstr(rule,"users ");
|
||||||
@ -656,7 +656,7 @@ void link_rules(char* rule, FW_INSTANCE* instance)
|
|||||||
*ruleptr++ = '\0';
|
*ruleptr++ = '\0';
|
||||||
|
|
||||||
tok = strtok_r(modeptr," ",saveptr);
|
tok = strtok_r(modeptr," ",saveptr);
|
||||||
if(strcmp(tok,"match") == 0){
|
if(tok && strcmp(tok,"match") == 0){
|
||||||
tok = strtok_r(NULL," ",saveptr);
|
tok = strtok_r(NULL," ",saveptr);
|
||||||
if(strcmp(tok,"any") == 0){
|
if(strcmp(tok,"any") == 0){
|
||||||
match_any = true;
|
match_any = true;
|
||||||
@ -743,6 +743,12 @@ void link_rules(char* rule, FW_INSTANCE* instance)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while(rulelist)
|
||||||
|
{
|
||||||
|
RULELIST *tmp = rulelist;
|
||||||
|
rulelist = rulelist->next;
|
||||||
|
free(tmp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -756,7 +762,7 @@ void parse_rule(char* rule, FW_INSTANCE* instance)
|
|||||||
ss_dassert(rule != NULL && instance != NULL);
|
ss_dassert(rule != NULL && instance != NULL);
|
||||||
|
|
||||||
char *rulecpy = strdup(rule);
|
char *rulecpy = strdup(rule);
|
||||||
char **saveptr;
|
char **saveptr = NULL;
|
||||||
char *tok = strtok_r(rulecpy," ,",saveptr);
|
char *tok = strtok_r(rulecpy," ,",saveptr);
|
||||||
bool allow,deny,mode;
|
bool allow,deny,mode;
|
||||||
RULE* ruledef = NULL;
|
RULE* ruledef = NULL;
|
||||||
@ -800,6 +806,11 @@ void parse_rule(char* rule, FW_INSTANCE* instance)
|
|||||||
add_users(rule, instance);
|
add_users(rule, instance);
|
||||||
goto retblock;
|
goto retblock;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
skygw_log_write(LOGFILE_ERROR,"Error : Unknown token in rule file: %s",tok);
|
||||||
|
goto retblock;
|
||||||
|
}
|
||||||
|
|
||||||
tok = strtok_r(NULL, " ,",saveptr);
|
tok = strtok_r(NULL, " ,",saveptr);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user