Fix non-WITH_CONTENT_SCAN build (2)
authorJeremy Harris <jgh146exb@wizmail.org>
Wed, 31 Aug 2022 16:17:59 +0000 (17:17 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Wed, 31 Aug 2022 16:20:59 +0000 (17:20 +0100)
Broken-by: d8ecc7bf97
src/src/exim.c
src/src/functions.h
src/src/globals.h
src/src/regex.c
src/src/smtp_in.c

index 82e8330670109ec9f494dc3b7d06af4ad52e3f92..f2a787e8aca0da2f1389a40aa5227625bf44e91c 100644 (file)
@@ -1678,17 +1678,6 @@ else
 }
 
 
-/* reset regex expansion variables */
-void
-regex_vars_clear(void)
-{
-regex_match_string = NULL;
-for (int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL;
-}
-
-
-
-
 
 /*************************************************
 *          Entry point and high-level code       *
@@ -6092,13 +6081,13 @@ MORELOOP:
   dnslist_domain = dnslist_matched = NULL;
 #ifdef WITH_CONTENT_SCAN
   malware_name = NULL;
+  regex_vars_clear();
 #endif
   callout_address = NULL;
   sending_ip_address = NULL;
   deliver_localpart_data = deliver_domain_data =
   recipient_data = sender_data = NULL;
   acl_var_m = NULL;
-  regex_vars_clear();
 
   store_reset(reset_point);
   }
index 345d7bce6749173f6a0635090bf10beb9ec81f9b..d5164547ae5505c69c3cd26a9328500bdf7c1b68 100644 (file)
@@ -440,6 +440,7 @@ extern int_eximarith_t receive_statvfs(BOOL, int *);
 extern void    receive_swallow_smtp(void);
 #ifdef WITH_CONTENT_SCAN
 extern int     regex(const uschar **, BOOL);
+extern void    regex_vars_clear(void);
 #endif
 extern void    regex_at_daemon(const uschar *);
 extern BOOL    regex_match(const pcre2_code *, const uschar *, int, uschar **);
@@ -447,7 +448,6 @@ extern BOOL    regex_match_and_setup(const pcre2_code *, const uschar *, int, in
 extern const pcre2_code *regex_compile(const uschar *, mcs_flags, uschar **,
                pcre2_compile_context *);
 extern const pcre2_code *regex_must_compile(const uschar *, mcs_flags, BOOL);
-extern void    regex_vars_clear(void);
 extern void    retry_add_item(address_item *, uschar *, int);
 extern BOOL    retry_check_address(const uschar *, host_item *, uschar *, BOOL,
                  uschar **, uschar **);
index c40ae4bebee9c074f3f4e9dfdaec0f7691a226df..ae74147d470d7189ea2b6b4d97f4bdb144ccb75e 100644 (file)
@@ -904,12 +904,12 @@ extern const pcre2_code  *regex_EARLY_PIPE;  /* For recognizing PIPE_CONNCT */
 extern int    regex_cachesize;              /* number of entries */
 extern const pcre2_code  *regex_ismsgid;     /* Compiled r.e. for message ID */
 extern const pcre2_code  *regex_smtp_code;   /* For recognizing SMTP codes */
-extern const uschar *regex_vars[];           /* $regexN variables */
 #ifdef WHITELIST_D_MACROS
 extern const pcre2_code  *regex_whitelisted_macro; /* For -D macro values */
 #endif
 #ifdef WITH_CONTENT_SCAN
 extern uschar *regex_match_string;     /* regex that matched a line (regex ACL condition) */
+extern const uschar *regex_vars[];
 #endif
 extern int     remote_delivery_count;  /* Number of remote addresses */
 extern int     remote_max_parallel;    /* Maximum parallel delivery */
index 3088f0066ae3559baa00190b1d14275a6daeae0e..25496f950db7d09debf46c15f902dda139965238 100644 (file)
@@ -93,6 +93,16 @@ return FAIL;
 }
 
 
+/* reset expansion variables */
+void
+regex_vars_clear(void)
+{
+regex_match_string = NULL;
+for (int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL;
+}
+
+
+
 int
 regex(const uschar ** listptr, BOOL cacheable)
 {
index a15280bdcfdea6bbf34e1a5d988733ff2fad2cb6..28e529bae25c7e23b367099562ae5ba35c1f5a69 100644 (file)
@@ -2157,7 +2157,9 @@ prdr_requested = FALSE;
 #ifdef SUPPORT_I18N
 message_smtputf8 = FALSE;
 #endif
+#ifdef WITH_CONTENT_SCAN
 regex_vars_clear();
+#endif
 body_linecount = body_zerocount = 0;
 
 lookup_value = NULL;                           /* Can be set by ACL */