Increase limit on SMTP confirmation message copy size. Bug 1572
[exim.git] / src / src / deliver.c
index 7ec94edd76019a6eeb8db97edfef12e0a56f0be8..ad871c575910ba8a55b273370c9dc75ec35c91e4 100644 (file)
@@ -911,11 +911,12 @@ if (log_extra_selector & LX_smtp_confirmation &&
     addr->message &&
     (addr->host_used || Ustrcmp(addr->transport->driver_name, "lmtp") == 0))
   {
-  int i;
+  unsigned i;
+  unsigned lim = MIN(big_buffer_size, 1024);
   uschar *p = big_buffer;
   uschar *ss = addr->message;
   *p++ = '\"';
-  for (i = 0; i < 256 && ss[i] != 0; i++)      /* limit logged amount */
+  for (i = 0; i < lim && ss[i] != 0; i++)      /* limit logged amount */
     {
     if (ss[i] == '\"' || ss[i] == '\\') *p++ = '\\'; /* quote \ and " */
     *p++ = ss[i];
@@ -3231,7 +3232,7 @@ while (!done)
     case 'I':
     if (*ptr) sending_ip_address = string_copy(ptr);
     while (*ptr++) ;
-    if (*ptr) sending_port = atoi(ptr);
+    if (*ptr) sending_port = atoi(CS ptr);
     while (*ptr++) ;
     break;