From 21571ab1e000da47b91b3f21bfaba89d1abec71f Mon Sep 17 00:00:00 2001 From: Hivert Quentin Date: Tue, 5 Dec 2023 10:58:48 +0100 Subject: [PATCH] fix(calendar): If content is NSData, properly convert it to NSString --- SoObjects/SOGo/SOGoContentObject.m | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/SoObjects/SOGo/SOGoContentObject.m b/SoObjects/SOGo/SOGoContentObject.m index b87f4027d..5a631881d 100644 --- a/SoObjects/SOGo/SOGoContentObject.m +++ b/SoObjects/SOGo/SOGoContentObject.m @@ -100,8 +100,19 @@ if (data) { if ([data isKindOfClass: [NSString class]]) ASSIGN (content, data); - else - ASSIGN (content, [NSString stringWithUTF8String:[data bytes]]); + else { + char lastByte; + [data getBytes:&lastByte range:NSMakeRange([data length]-1, 1)]; + if (lastByte == 0x0) { + // string is null terminated + ASSIGN (content, [NSString stringWithUTF8String: [data bytes]]); + } else { + // string is not null terminated + NSString* myString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; + ASSIGN (content, myString); + [myString release]; + } + } } data = [objectRecord objectForKey: @"c_version"]; if (data)