Fix for Bug #466, http://bugs.skysql.com/show_bug.cgi?id=466
hintparser.c:hint_parser:when string token is found, create a copy of the token value instead of copying the its address because token will be freed before the value is used. hint_next_token:didn't recognize '=' as TOK_EQUAL, fixed that. Read the code. hint.c:hint_create_parameter: copy the pointer to parameter name instead of creating copy of it - pname is already copied from token before the call readwritesplit.c:routeQuery:Hint name was copied when hint value was supposed to be copied, thus resulting invalid value for hinted parameter. Also fixed server type in trace log command. skygw_debug.h:Added string for Relay server to macro STRSRVSTATUS.
This commit is contained in:
@ -115,7 +115,7 @@ HINT *hint;
|
||||
return head;
|
||||
hint->next = head;
|
||||
hint->type = HINT_PARAMETER;
|
||||
hint->data = strdup(pname);
|
||||
hint->data = pname;
|
||||
hint->value = strdup(value);
|
||||
return hint;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user