Fix taint issue with retry records. Bug 2492
[exim.git] / src / src / exim_dbmbuild.c
index 542f63cbbdeaf718653b326e104b2195f3df479d..85bc3fd8808ce36f72e8b910268412c3fc8e6e6a 100644 (file)
@@ -34,19 +34,33 @@ uschar * spool_directory = NULL;    /* dummy for dbstuff.h */
 
 /******************************************************************************/
                                        /* dummies needed by Solaris build */
+void
+millisleep(int msec)
+{}
+uschar *
+readconf_printtime(int t)
+{ return NULL; }
 void *
 store_get_3(int size, BOOL tainted, const char *filename, int linenumber)
 { return NULL; }
 void **
 store_reset_3(void **ptr, int pool, const char *filename, int linenumber)
-{ }
+{ return NULL; }
 void
 store_release_above_3(void *ptr, const char *func, int linenumber)
 { }
 gstring *
 string_vformat_trc(gstring * g, const uschar * func, unsigned line,
   unsigned size_limit, unsigned flags, const char *format, va_list ap)
-{ }
+{ return NULL; }
+uschar *
+string_sprintf_trc(const char * a, const uschar * b, unsigned c, ...)
+{ return NULL; }
+
+struct global_flags    f;
+unsigned int           log_selector[1];
+uschar *               queue_name;
+BOOL                   split_spool_directory;
 /******************************************************************************/
 
 
@@ -112,6 +126,7 @@ string_interpret_escape(const uschar **pp)
 int ch;
 const uschar *p = *pp;
 ch = *(++p);
+if (ch == '\0') return **pp;
 if (isdigit(ch) && ch != '8' && ch != '9')
   {
   ch -= '0';