From c8358a9f4f035ad0b0e446e93a0c6a0d6b9953d1 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Tue, 24 Nov 2009 20:19:21 +0000 Subject: [PATCH] See ChangeLog #MTN: ---------------------------------------------------------------------- Monotone-Parent: 8bf27e6a6e311b43dd1eefbb9eab21ed89a80f6d Monotone-Revision: c55d7e01ad80c68ff71c3684827782f73ac196ef Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2009-11-24T20:19:21 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 10 ++++++++++ SoObjects/SOGo/SOGoGroup.m | 1 + SoObjects/SOGo/SQLSource.m | 2 ++ 3 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index ae12f92eb..aad5147f9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2009-11-24 Ludovic Marcotte + + * SoObjects/SOGo/SOGoGroup.m + Initialize the local var entry to nil to avoid + a crash if only one SQL source was specified + + * SoObjects/SOGo/SQLSource.m + Properly invoke cancelFetch on cusors that can return + more than one value (prior to releasing the channel) + 2009-11-23 Wolfgang Sourdeau * Tools/sogo-tool.m (main): we check "SOGoUserSources" rather than diff --git a/SoObjects/SOGo/SOGoGroup.m b/SoObjects/SOGo/SOGoGroup.m index 839e8092f..a223a1a7a 100644 --- a/SoObjects/SOGo/SOGoGroup.m +++ b/SoObjects/SOGo/SOGoGroup.m @@ -123,6 +123,7 @@ return nil; allSources = [[SOGoUserManager sharedUserManager] sourceIDs]; + entry = nil; o = nil; for (i = 0; i < [allSources count]; i++) diff --git a/SoObjects/SOGo/SQLSource.m b/SoObjects/SOGo/SQLSource.m index a4d47f572..ee25cfce5 100644 --- a/SoObjects/SOGo/SQLSource.m +++ b/SoObjects/SOGo/SQLSource.m @@ -182,6 +182,7 @@ value = [row objectForKey: @"c_password"]; rc = [self _isPassword: password equalTo: value]; + [channel cancelFetch]; } else [self errorWithFormat: @"could not run SQL '%@': %@", sql, ex]; @@ -227,6 +228,7 @@ response = [[channel fetchAttributes: [channel describeResults: NO] withZone: NULL] mutableCopy]; [response autorelease]; + [channel cancelFetch]; // We have to do this here since we do not manage modules // constraints right now over a SQL backend.