Avoid modifying global errno when raising event
[exim.git] / src / src / verify.c
index 6e07566a7edc78fa0611b02c1cf422cffbc983f7..6478a9e7e94072eeca52348cf7695c650ac86859 100644 (file)
@@ -3,7 +3,7 @@
 *************************************************/
 
 /* Copyright (c) University of Cambridge 1995 - 2018 */
-/* Copyright (c) The Exim Maintainers 2020 */
+/* Copyright (c) The Exim Maintainers 2020 - 2021 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* Functions concerned with verifying things. The original code for callout
@@ -815,7 +815,7 @@ tls_retry_connection:
            sx->cctx.sock = -1;
 #ifndef DISABLE_EVENT
            (void) event_raise(addr->transport->event_action,
-                             US"tcp:close", NULL);
+                             US"tcp:close", NULL, NULL);
 #endif
            addr->address = main_address;
            addr->transport_return = PENDING_DEFER;
@@ -1127,7 +1127,7 @@ no_conn:
        (void)close(sx->cctx.sock);
        sx->cctx.sock = -1;
 #ifndef DISABLE_EVENT
-       (void) event_raise(addr->transport->event_action, US"tcp:close", NULL);
+       (void) event_raise(addr->transport->event_action, US"tcp:close", NULL, NULL);
 #endif
        }
       }
@@ -3577,9 +3577,10 @@ else
 
 close(pfd[pipe_read]);
 errno = save_errno;
+return yield;
 
 fail:
-
+DEBUG(D_verify) debug_printf_indent("verify_quota_call fail in %s\n", where);
 return yield;
 }