121
122 FOR_EACH_PTR(freed_args, tracker) {
123 print_arg(tracker->sym);
124 } END_FOR_EACH_PTR(tracker);
125
126 free_trackers_and_list(&freed_args);
127 return_count = 0;
128 }
129
130 void check_frees_argument(int id)
131 {
132 if (!option_info)
133 return;
134
135 my_id = id;
136 add_hook(&match_function_def, FUNC_DEF_HOOK);
137 if (option_project == PROJ_KERNEL)
138 add_function_hook("kfree", &match_kfree, NULL);
139 else
140 add_function_hook("free", &match_kfree, NULL);
141 add_hook(&match_return, RETURN_HOOK);
142 add_hook(&match_end_func, END_FUNC_HOOK);
143 add_hook(&match_after_func, AFTER_FUNC_HOOK);
144 }
|
121
122 FOR_EACH_PTR(freed_args, tracker) {
123 print_arg(tracker->sym);
124 } END_FOR_EACH_PTR(tracker);
125
126 free_trackers_and_list(&freed_args);
127 return_count = 0;
128 }
129
130 void check_frees_argument(int id)
131 {
132 if (!option_info)
133 return;
134
135 my_id = id;
136 add_hook(&match_function_def, FUNC_DEF_HOOK);
137 if (option_project == PROJ_KERNEL)
138 add_function_hook("kfree", &match_kfree, NULL);
139 else
140 add_function_hook("free", &match_kfree, NULL);
141
142 if (option_project == PROJ_ILLUMOS_USER)
143 add_function_hook("libld_free", &match_kfree, NULL);
144
145 add_hook(&match_return, RETURN_HOOK);
146 add_hook(&match_end_func, END_FUNC_HOOK);
147 add_hook(&match_after_func, AFTER_FUNC_HOOK);
148 }
|