{
E_Info_Tree_Node *node = NULL;
E_Info_Rule_Node *data;
+ int min;
if (token->last_token == E_INFO_TOKEN_L_BR)
{
data = (E_Info_Rule_Node *)_e_info_bintree_get_node_data(node);
- strncpy(data->variable_name, token->last_symbol, token->symbol_len);
- data->variable_name[token->symbol_len] = '\0';
+ min = MIN(STRING_MAX - 1, token->symbol_len);
+ strncpy(data->variable_name, token->last_symbol, min);
+ data->variable_name[min] = '\0';
if (!strcasecmp(data->variable_name, "all"))
{
else if (token->last_token == E_INFO_TOKEN_SYMBOL)
{
data->value_type = E_INFO_DATA_TYPE_STRING;
- strncpy(data->value.string, token->last_symbol, token->symbol_len);
- data->value.string[token->symbol_len] = '\0';
+ min = MIN(STRING_MAX - 1, token->symbol_len);
+ strncpy(data->value.string, token->last_symbol, min);
+ data->value.string[min] = '\0';
}
else
{