commit 9489f1f77a4a15e1615e514cd49ed27b0be30e21 from: Stefan Sperling date: Sun Nov 11 12:53:24 2018 UTC avoid use-after-free via got_object_idset_for_each() commit - d14519756a20c300e9189d2db6b7477b7adfe312 commit + 9489f1f77a4a15e1615e514cd49ed27b0be30e21 blob - aef9d21f24fc5cdc46a1afbbc64a048002b064c0 blob + 29ef3bd95c49464e680c6f83ccd0e636ad7b2aeb --- lib/object_idset.c +++ lib/object_idset.c @@ -178,9 +178,9 @@ got_object_idset_for_each(struct got_object_idset *set void *arg) { const struct got_error *err; - struct got_object_idset_element *entry; + struct got_object_idset_element *entry, *tmp; - RB_FOREACH(entry, got_object_idset_tree, &set->entries) { + RB_FOREACH_SAFE(entry, got_object_idset_tree, &set->entries, tmp) { err = (*cb)(&entry->id, entry->data, arg); if (err) return err;