From 24483183e727acc8daf490ea9f288ee7546991a6 Mon Sep 17 00:00:00 2001 From: "gtm.daemon" Date: Fri, 1 Aug 2014 20:30:07 +0000 Subject: General fixes for GTM. a) only define GTM_IPHONE_USE_SENTEST if it hasn't been defined on Mac. It's a horrible name, but it does control us using SENTEST instead of XCTest. b) Object is now found in the runtime on both iOS and MacOS c) MethodCheck had a potential memory leak DELTA=47 (18 added, 5 deleted, 24 changed) DELTA_BY_EXTENSION=h=30,m=12 --- Foundation/GTMObjC2Runtime.m | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'Foundation') diff --git a/Foundation/GTMObjC2Runtime.m b/Foundation/GTMObjC2Runtime.m index f284542..e1af2bb 100644 --- a/Foundation/GTMObjC2Runtime.m +++ b/Foundation/GTMObjC2Runtime.m @@ -18,7 +18,8 @@ #import "GTMObjC2Runtime.h" -#if GTM_MACOS_SDK && (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5) +#if GTM_MACOS_SDK && (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5) && !__OBJC2__ +#import #import #import @@ -73,11 +74,16 @@ Method *class_copyMethodList(Class cls, unsigned int *outCount) { while ( (mlist = class_nextMethodList(cls, &iterator)) ) { if (mlist->method_count == 0) continue; - methods = (Method *)realloc(methods, - sizeof(Method) * (count + mlist->method_count + 1)); - if (!methods) { + Method *new_methods = (Method *)realloc(methods, + sizeof(Method) * (count + mlist->method_count + 1)); + if (!new_methods) { + // COV_NF_START //Memory alloc failed, so what can we do? - return NULL; // COV_NF_LINE + free(methods); + return NULL; + // COV_NF_END + } else { + methods = new_methods; } for (int i = 0; i < mlist->method_count; i++) { methods[i + count] = &mlist->method_list[i]; -- cgit v1.2.3