| 22 | } |
| 23 | |
| 24 | void ref_iterator_free(struct ref_iterator *ref_iterator) |
| 25 | { |
| 26 | if (ref_iterator) { |
| 27 | ref_iterator->vtable->release(ref_iterator); |
| 28 | /* Help make use-after-free bugs fail quickly: */ |
| 29 | ref_iterator->vtable = NULL; |
| 30 | free(ref_iterator); |
| 31 | } |
| 32 | } |
| 33 | |
| 34 | void base_ref_iterator_init(struct ref_iterator *iter, |
| 35 | struct ref_iterator_vtable *vtable) |
no outgoing calls
no test coverage detected