-[DDList remove:allInstances:] includes a bug when invoked with allInstances:YES (as it is from -[DDList removeAll:]). The current implementation doesn’t advance to the next node in the list, iterating over the same node over and over, and freeing that node each time, which will cause a crash during runtime.
Fix DDList removeAll: not moving to the next node after removing the …
Also includes a test in TestDDList that will crash with "malloc: *** error for
object 0x123456: pointer being freed was not allocated".