Просмотр исходного кода

Fix stack memory being used in async block (#344)

GGLGeek лет назад: 6
Родитель
Сommit
a6cbfbd3fd
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      Classes/GlobalStateExplorers/SystemLog/FLEXOSLogController.m

+ 3 - 1
Classes/GlobalStateExplorers/SystemLog/FLEXOSLogController.m

@@ -178,9 +178,11 @@ static uint8_t (*OSLogGetType)(void *);
             if (entry->log_message.format && !(strcmp(entry->log_message.format, messageText))) {
                 messageText = (char *)entry->log_message.format;
             }
+            // move messageText from stack to heap
+            NSString *msg = [NSString stringWithUTF8String:messageText];
 
             dispatch_async(dispatch_get_main_queue(), ^{
-                FLEXSystemLogMessage *message = [FLEXSystemLogMessage logMessageFromDate:date text:@(messageText)];
+                FLEXSystemLogMessage *message = [FLEXSystemLogMessage logMessageFromDate:date text:msg];
                 if (self.persistent) {
                     [self.messages addObject:message];
                 }