diff --git a/ChangeLog b/ChangeLog index 56745d58d..35dd40d5e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-10-19 Wolfgang Sourdeau + + * SoObjects/SOGo/SOGoContentObject.m (-davContentLength): fixed a + potential crash (see http://www.sogo.nu/bugs/view.php?id=915) by + evaluating the length differently. + 2010-10-15 Wolfgang Sourdeau * UI/Scheduler/UIxCalListingActions.m (_fixDates:): restored diff --git a/SoObjects/SOGo/SOGoContentObject.m b/SoObjects/SOGo/SOGoContentObject.m index 1d0416bf1..1e66276ad 100644 --- a/SoObjects/SOGo/SOGoContentObject.m +++ b/SoObjects/SOGo/SOGoContentObject.m @@ -372,8 +372,15 @@ - (NSString *) davContentLength { - return [NSString stringWithFormat: @"%u", - [content lengthOfBytesUsingEncoding: NSUTF8StringEncoding]]; + NSInteger length; + + /* The following may cause a crash, as stated in + http://www.sogo.nu/bugs/view.php?id=915: + + length = [content lengthOfBytesUsingEncoding: NSUTF8StringEncoding]; */ + length = strlen ([content UTF8String]); + + return [NSString stringWithFormat: @"%u", length]; } // - (NSString *) davResourceType