Skip to content

Commit 03d69ae

Browse files
committed
validating successful malloc for lastLocation and classes
1 parent e46401f commit 03d69ae

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

iOS_SDK/OneSignalSDK/Source/OneSignalLocation.m

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,10 @@ - (void)locationManager:(id)manager didUpdateLocations:(NSArray *)locations {
331331
@synchronized(OneSignalLocation.mutexObjectForLastLocation) {
332332
if (!lastLocation)
333333
lastLocation = (os_last_location*)malloc(sizeof(os_last_location));
334-
334+
if (lastLocation == NULL) {
335+
onesignal_Log(ONE_S_LL_ERROR, @"OneSignalLocation: unable to allocate memory for os_last_location");
336+
return;
337+
}
335338
lastLocation->verticalAccuracy = [[location valueForKey:@"verticalAccuracy"] doubleValue];
336339
lastLocation->horizontalAccuracy = [[location valueForKey:@"horizontalAccuracy"] doubleValue];
337340
lastLocation->cords = cords;

iOS_SDK/OneSignalSDK/Source/OneSignalSelectorHelpers.m

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,11 @@ void injectToProperClass(SEL newSel, SEL makeLikeSel, NSArray* delegateSubclasse
112112

113113
NSArray* ClassGetSubclasses(Class parentClass) {
114114
int numClasses = objc_getClassList(NULL, 0);
115-
Class *classes = (Class*)malloc(sizeof(Class) * numClasses);
115+
int memSize = sizeof(Class) * numClasses;
116+
Class *classes = (Class*)malloc(memSize);
117+
if (classes == NULL && memSize) {
118+
return [NSMutableArray array];
119+
}
116120

117121
objc_getClassList(classes, numClasses);
118122

0 commit comments

Comments
 (0)