diff options
author | Michal Schmidt <mschmidt@redhat.com> | 2011-10-17 11:12:12 +0200 |
---|---|---|
committer | Michal Schmidt <mschmidt@redhat.com> | 2011-10-17 11:29:27 +0200 |
commit | 563ba9ea6e60774086555998b957edf923e24b46 (patch) | |
tree | 8dd5598841b48768d2164c650c395228a7b42739 /src/timer.c | |
parent | 64685e0cea62b4937f0804e47ce2cb7929f58223 (diff) |
manager: fix a crash in isolating
HASHMAP_FOREACH is safe against the removal of the current entry, but
not against the removal of other entries. job_finish_and_invalidate()
can recursively remove other entries.
It triggered an assertion failure:
Assertion 'j->installed' failed at src/manager.c:1218, function
transaction_apply(). Aborting.
Fix the crash by iterating from the beginning when there is a
possibility that the iterator could be invalid.
It is O(n^2) in the worst case, but that's better than a crash.
https://bugzilla.redhat.com/show_bug.cgi?id=717325
Diffstat (limited to 'src/timer.c')
0 files changed, 0 insertions, 0 deletions