Commit Diff


commit - d8f487e36030722307b385bbdd08952816096215
commit + 884859db3da820f53e4d77ce276983bf0a645868
blob - ead4882b255d7b34343a880797c6ec1d4bd3336e
blob + 86e7237b15ee6d9e56e4cffcbf79a5019de5357a
--- main.c
+++ main.c
@@ -285,6 +285,8 @@ dkim_message_free(struct osmtpd_ctx *ctx, void *data)
 				free(msg->header[i].sig->h[j]);
 			free(msg->header[i].sig->h);
 			EVP_PKEY_free(msg->header[i].sig->p);
+			if (msg->header[i].sig->query)
+				event_asr_abort(msg->header[i].sig->query);
 		}
 		free(msg->header[i].buf);
 		free(msg->header[i].sig);
@@ -496,6 +498,10 @@ dkim_lookup_record(struct signature *sig, const char *
 
 	sig->nqueries++;
 
+	if (sig->query != NULL) {
+		event_asr_abort(sig->query);
+		sig->query = NULL;
+	}
 	if ((query = res_query_async(domain, C_IN, T_TXT, NULL)) == NULL)
 		osmtpd_err(1, "res_query_async");