Index: src/OFXMLCDATA.m ================================================================== --- src/OFXMLCDATA.m +++ src/OFXMLCDATA.m @@ -65,10 +65,17 @@ @throw e; } return self; } + +- (void)dealloc +{ + [_CDATA release]; + + [super dealloc]; +} - (bool)isEqual: (id)object { OFXMLCDATA *CDATA; Index: src/OFXMLCharacters.m ================================================================== --- src/OFXMLCharacters.m +++ src/OFXMLCharacters.m @@ -65,10 +65,17 @@ @throw e; } return self; } + +- (void)dealloc +{ + [_characters release]; + + [super dealloc]; +} - (bool)isEqual: (id)object { OFXMLCharacters *characters; Index: src/OFXMLComment.m ================================================================== --- src/OFXMLComment.m +++ src/OFXMLComment.m @@ -67,10 +67,17 @@ @throw e; } return self; } + +- (void)dealloc +{ + [_comment release]; + + [super dealloc]; +} - (bool)isEqual: (id)object { OFXMLComment *comment; Index: src/OFXMLProcessingInstructions.m ================================================================== --- src/OFXMLProcessingInstructions.m +++ src/OFXMLProcessingInstructions.m @@ -67,10 +67,17 @@ @throw e; } return self; } + +- (void)dealloc +{ + [_processingInstructions release]; + + [super dealloc]; +} - (bool)isEqual: (id)object { OFXMLProcessingInstructions *processingInstructions; Index: tests/plugin/TestPlugin.m ================================================================== --- tests/plugin/TestPlugin.m +++ tests/plugin/TestPlugin.m @@ -22,11 +22,15 @@ # import "runtime-private.h" static void __attribute__((destructor)) unload(void) { - objc_free_class(objc_getClass("TestPlugin")); + Class class = objc_getClass("TestPlugin"); + Class metaclass = object_getClass(class); + + objc_free_class(class); + objc_free_class(metaclass); } #endif @implementation TestPlugin - (int)test: (int)num