diff --git a/ChangeLog b/ChangeLog index 0b0172f4c..b7ec2b55e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,10 @@ * Headers/Additions/GNUstepBase/GSObjCRuntime.h: Define encoding macros for the NeXT runtime. + + * Source/Additions/GSObjCRuntime.m + (GSAppendMethodToList): Copy type information for NeXT_RUNTIME. + (GSRemoveMethodFromList): Add comment about potential minor leak. 2004-09-14 Richard Frith-Macdonald diff --git a/Source/Additions/GSObjCRuntime.m b/Source/Additions/GSObjCRuntime.m index 860a52b11..7cb6fae85 100644 --- a/Source/Additions/GSObjCRuntime.m +++ b/Source/Additions/GSObjCRuntime.m @@ -878,7 +878,7 @@ GSAppendMethodToList (GSMethodList list, #endif list->method_list[num].method_name = sel; - list->method_list[num].method_types = types; + list->method_list[num].method_types = strdup(types); list->method_list[num].method_imp = imp; } @@ -921,6 +921,9 @@ GSRemoveMethodFromList (GSMethodList list, } /* Clear the last entry. */ + /* NB: For the NeXT_RUNTIME we may leak the types + if they were set by GSAppendMethodFromList. Yet + as we can not determine the origin, we shall leak. */ list->method_list[i].method_name = 0; list->method_list[i].method_types = 0; list->method_list[i].method_imp = 0;