diff --git a/ChangeLog b/ChangeLog index c8092fa7d..208f5d463 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-12-02 Ludovic Marcotte + + * Main/SOGo+DAV.m - we avoid assuming a range is found + and check for it, running no location if necessary + 2010-12-01 Wolfgang Sourdeau * OpenChange/MAPIStoreContext.m: prevent leaks by adding an diff --git a/Main/SOGo+DAV.m b/Main/SOGo+DAV.m index b3deabb4c..7e8796dfd 100644 --- a/Main/SOGo+DAV.m +++ b/Main/SOGo+DAV.m @@ -321,8 +321,16 @@ NSRange substringRange; substringRange = [value rangeOfString: @"/SOGo/dav/"]; + + if (substringRange.location == NSNotFound) + return; + value = [value substringFromIndex: NSMaxRange (substringRange)]; substringRange = [value rangeOfString: @"/Calendar"]; + + if (substringRange.location == NSNotFound) + return; + value = [value substringToIndex: substringRange.location]; collection = [[SOGoUser userWithLogin: value] homeFolderInContext: localContext];