DNS: explicit alloc/free of workspace
[exim.git] / src / src / parse.c
index acece9b782aed90045eed3fe44b699655a1eb258..885a01c0d78b4d427eef77193a26e4b7f1a48fb6 100644 (file)
@@ -904,8 +904,13 @@ for (s = string; len > 0; s++, len--)
     { g = string_catn(g, s, 1); first_byte = FALSE; }
   }
 
-g = string_catn(g, US"?=", 2);
-return coded ? string_from_gstring(g) : string;
+if (coded)
+  string = string_from_gstring(g = string_catn(g, US"?=", 2));
+else
+  g->ptr = -1;
+
+gstring_release_unused(g);
+return string;
 }
 
 
@@ -2078,6 +2083,7 @@ int main(void)
 int start, end, domain;
 uschar buffer[1024];
 
+store_init();
 big_buffer = store_malloc(big_buffer_size);
 
 /* strip_trailing_dot = TRUE; */