@@ -39,11 +39,16 @@ @try { data = [self allocNItems: size withSize: sizeof(OFList*)]; } @catch (OFException *e) { - [super free]; + /* + * We can't use [super free] on OS X here. Compiler bug? + * Anyway, set size to 0 so that [self free] works. + */ + size = 0; + [self free]; @throw e; } memset(data, 0, size); return self; @@ -65,11 +70,16 @@ @try { data = [self allocNItems: size withSize: sizeof(OFList*)]; } @catch (OFException *e) { - [super free]; + /* + * We can't use [super free] on OS X here. Compiler bug? + * Anyway, set size to 0 so that [self free] works. + */ + size = 0; + [self free]; @throw e; } memset(data, 0, size); return self;