diff options
author | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2014-08-01 20:30:07 +0000 |
---|---|---|
committer | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2014-08-01 20:30:07 +0000 |
commit | 24483183e727acc8daf490ea9f288ee7546991a6 (patch) | |
tree | 818092d8ed6130d03c7ca29262c47d0ce79c843c /Foundation | |
parent | 0f81b5483f17785f06a8ad4c4d56de227f983f87 (diff) |
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
Diffstat (limited to 'Foundation')
-rw-r--r-- | Foundation/GTMObjC2Runtime.m | 16 |
1 files changed, 11 insertions, 5 deletions
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 <objc/objc-runtime.h> #import <stdlib.h> #import <string.h> @@ -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]; |