Print this page
11506 smatch resync

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/smatch_strlen.c
          +++ new/usr/src/tools/smatch/src/smatch_strlen.c
↓ open down ↓ 325 lines elided ↑ open up ↑
 326  326  {
 327  327          if (sm->state == &merged)
 328  328                  return;
 329  329          sql_insert_caller_info(call, STR_LEN, param, printed_name, sm->state->name);
 330  330  }
 331  331  
 332  332  void register_strlen(int id)
 333  333  {
 334  334          my_strlen_id = id;
 335  335  
      336 +        set_dynamic_states(my_strlen_id);
      337 +
 336  338          add_unmatched_state_hook(my_strlen_id, &unmatched_strlen_state);
 337  339  
 338  340          select_caller_info_hook(set_param_strlen, STR_LEN);
 339  341          add_hook(&match_string_assignment, ASSIGNMENT_HOOK);
 340  342  
 341  343          add_modification_hook(my_strlen_id, &set_strlen_undefined);
 342  344          add_merge_hook(my_strlen_id, &merge_estates);
 343  345          add_hook(&match_call, FUNCTION_CALL_HOOK);
 344  346          add_member_info_callback(my_strlen_id, struct_member_callback);
 345  347          add_hook(&match_strlen_condition, CONDITION_HOOK);
↓ open down ↓ 1 lines elided ↑ open up ↑
 347  349          add_function_hook("snprintf", &match_snprintf, NULL);
 348  350  
 349  351          add_function_hook("strlcpy", &match_strlcpycat, NULL);
 350  352          add_function_hook("strlcat", &match_strlcpycat, NULL);
 351  353          add_function_hook("strcpy", &match_strcpy, NULL);
 352  354  }
 353  355  
 354  356  void register_strlen_equiv(int id)
 355  357  {
 356  358          my_equiv_id = id;
      359 +        set_dynamic_states(my_equiv_id);
 357  360          add_function_assign_hook("strlen", &match_strlen, NULL);
 358  361          add_modification_hook(my_equiv_id, &set_strlen_equiv_undefined);
 359  362  }
 360  363  
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX