Hi, > + QLIST_FOREACH(iter, &o->children, list) { > + usb_mtp_object_free(s, iter);
You have to use QLIST_FOREACH_SAFE here to avoid use-after-free on iter. Or, as you free the whole list anyway, just grab QLIST_FIRST() while ! QLIST_EMPTY(). cheers, Gerd