From: Timo Sirainen Date: Wed, 2 Sep 2015 14:16:41 +0000 (+0300) Subject: lib-sql: sql_result.free() should never be reached from the query callback. X-Git-Tag: 2.2.19.rc1~138 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b457d2ecf97fb52064f9dd563fd4e8065af39dfb;p=thirdparty%2Fdovecot%2Fcore.git lib-sql: sql_result.free() should never be reached from the query callback. This code was probably added before sql_result refcounting. --- diff --git a/src/lib-sql/driver-cassandra.c b/src/lib-sql/driver-cassandra.c index 415cefa5f4..78f7036f0d 100644 --- a/src/lib-sql/driver-cassandra.c +++ b/src/lib-sql/driver-cassandra.c @@ -431,13 +431,7 @@ static void driver_cassandra_result_free(struct sql_result *_result) struct cassandra_db *db = (struct cassandra_db *)_result->db; struct cassandra_result *result = (struct cassandra_result *)_result; - if (result->api.callback) { - /* we're coming here from a user's sql_result_free() that's - being called from a callback. we'll do this later, - so ignore. */ - return; - } - + i_assert(!result->api.callback); i_assert(db->cur_result == result); i_assert(result->callback == NULL); diff --git a/src/lib-sql/driver-pgsql.c b/src/lib-sql/driver-pgsql.c index 95fa0052be..6044bdba28 100644 --- a/src/lib-sql/driver-pgsql.c +++ b/src/lib-sql/driver-pgsql.c @@ -328,13 +328,7 @@ static void driver_pgsql_result_free(struct sql_result *_result) struct pgsql_result *result = (struct pgsql_result *)_result; bool success; - if (result->api.callback) { - /* we're coming here from a user's sql_result_free() that's - being called from a callback. we'll do this later, - so ignore. */ - return; - } - + i_assert(!result->api.callback); i_assert(db->cur_result == result); i_assert(result->callback == NULL);