Commit Diff


commit - 3cb7796fe641fbea9cde0889d02b66b743d6c745
commit + 5ea05a05350932a686f7e568a3018fcc24001f6b
blob - f9e5659409663e5f9ba2e454d69e004555fbcc7e
blob + 3a476080bb916c6dc02dd6c0577e12345d67aa13
--- 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");