object_class_foreach can initialize new types, and also register new types
corresponding to the implementations of interfaces. Those will change the
type internal hashtable which is currently enumerated, and GHashTable does
not permit this.

Fix this by not registering those internal types in the hash table, and
assert that we do not reenter GHashTable incorrectly during iteration.

Hervé Poussineau (1):
  qom: detect bad reentrance during object_class_foreach

Paolo Bonzini (1):
  qom: do not register interface "types" in the type table

 qom/object.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

-- 
1.8.4.2


Reply via email to