Print this page
11506 smatch resync

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/smatch_param_compare_limit.c
          +++ new/usr/src/tools/smatch/src/smatch_param_compare_limit.c
↓ open down ↓ 172 lines elided ↑ open up ↑
 173  173  
 174  174  static void print_return_comparison(int return_id, char *return_ranges, struct expression *expr)
 175  175  {
 176  176          struct sm_state *tmp;
 177  177          struct string_list *links;
 178  178          char *link;
 179  179          struct sm_state *sm;
 180  180          struct compare_data *data;
 181  181          struct var_sym *left, *right;
 182  182          int left_param, right_param;
 183      -        static char left_buf[256];
 184      -        static char right_buf[256];
      183 +        static char left_buf[248];
      184 +        static char right_buf[248];
 185  185          static char info_buf[256];
 186  186          const char *tmp_name;
 187  187  
 188  188          FOR_EACH_MY_SM(link_id, __get_cur_stree(), tmp) {
 189  189                  links = tmp->state->data;
 190  190                  FOR_EACH_PTR(links, link) {
 191  191                          sm = get_sm_state(compare_id, link, NULL);
 192  192                          if (!sm)
 193  193                                  continue;
 194  194                          data = sm->state->data;
↓ open down ↓ 82 lines elided ↑ open up ↑
 277  277  }
 278  278  
 279  279  static int split_op_param_key(char *value, int *op, int *param, char **key)
 280  280  {
 281  281          static char buf[256];
 282  282          char *p;
 283  283  
 284  284          if (!parse_comparison(&value, op))
 285  285                  return 0;
 286  286  
 287      -        snprintf(buf, sizeof(buf), value);
      287 +        snprintf(buf, sizeof(buf), "%s", value);
 288  288  
 289  289          p = buf;
 290  290          if (*p++ != '$')
 291  291                  return 0;
 292  292  
 293  293          *param = atoi(p);
 294  294          if (*param < 0 || *param > 99)
 295  295                  return 0;
 296  296          p++;
 297  297          if (*param > 9)
↓ open down ↓ 52 lines elided ↑ open up ↑
 350  350  
 351  351  free:
 352  352          free_string(left_name);
 353  353          free_string(right_name);
 354  354  }
 355  355  
 356  356  void register_param_compare_limit(int id)
 357  357  {
 358  358          compare_id = id;
 359  359  
      360 +        set_dynamic_states(compare_id);
 360  361          add_merge_hook(compare_id, &merge_compare_states);
 361  362          add_split_return_callback(&print_return_comparison);
 362  363  
 363  364          select_return_states_hook(COMPARE_LIMIT, &db_return_comparison);
 364  365  }
 365  366  
 366  367  void register_param_compare_limit_links(int id)
 367  368  {
 368  369          link_id = id;
 369  370  
      371 +        set_dynamic_states(link_id);
 370  372          add_merge_hook(link_id, &merge_links);
 371      -
 372  373  }
 373  374  
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX