changeset 20697:ba9f5ec216cd

lib-dict: Discard result when callback is NULL on async call
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Tue, 06 Sep 2016 16:02:26 +0300
parents e390f6e14850
children cc21ec4e56a3
files src/lib-dict/dict-client.c
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-dict/dict-client.c	Tue Sep 06 02:56:39 2016 +0300
+++ b/src/lib-dict/dict-client.c	Tue Sep 06 16:02:26 2016 +0300
@@ -1073,8 +1073,10 @@
 
 static void commit_sync_callback(int ret, void *context)
 {
-	int *ret_p = context;
-	*ret_p = ret;
+	if (context != NULL) {
+		int *ret_p = context;
+		*ret_p = ret;
+	}
 }
 
 static int
@@ -1103,7 +1105,7 @@
 			cmd->api_callback.context = context;
 		} else {
 			cmd->api_callback.commit = commit_sync_callback;
-			cmd->api_callback.context = &ret;
+			cmd->api_callback.context = (async ? NULL : &ret);
 			if (async)
 				cmd->background = TRUE;
 		}