| 178 | } |
| 179 | |
| 180 | static void acl_debug_free(const char *filename, int line, void *ptr) |
| 181 | { |
| 182 | char key[256], *value; |
| 183 | |
| 184 | if (ptr == NULL) |
| 185 | return; |
| 186 | ASSERT(__debug_mem); |
| 187 | |
| 188 | snprintf(key, sizeof(key), "0x%p", ptr); |
| 189 | |
| 190 | LOCK; |
| 191 | value = (char*) debug_htable_find(__debug_mem->table, key); |
| 192 | if (value == NULL) { |
| 193 | fprintf(__debug_mem->dump_fp, "corrupt%c%s%c%d\n", SEP, filename, SEP, line); |
| 194 | } else { |
| 195 | debug_htable_delete(__debug_mem->table, key, NULL); |
| 196 | free(value); |
| 197 | free(ptr); |
| 198 | } |
| 199 | UNLOCK; |
| 200 | } |
| 201 | |
| 202 | static void walk_fn(DEBUG_HTABLE_INFO *info, char *arg acl_unused) |
| 203 | { |
nothing calls this directly
no test coverage detected
searching dependent graphs…