Index: include/sendmail.c
===================================================================
--- include/sendmail.c
+++ include/sendmail.c
@@ -110,16 +110,24 @@
 
 int get_mailfrom(char **buffer, const char *mailfrom) {
   size_t size;
-  *buffer = strdup("MAIL FROM: <");
+  static const char MAIL_FROM[] = "MAIL FROM: <";
+  const char *src;
+  char *dst;
+  const size_t MAIL_FROM_len = sizeof (MAIL_FROM) - 1;
+  *buffer = malloc (MAIL_FROM_len + strlen(mailfrom) + 2);
   if (*buffer == NULL)
     return 0;
-  size = strlen("MAIL FROM: <") + strlen(mailfrom) + 2;
-  if (!saferealloc((void **)buffer, *buffer, size * sizeof(char))) {
-    FREE(*buffer);
-    return 0;
-  }
-  strlcat(*buffer, mailfrom, size * sizeof(char));
-  strlcat(*buffer, ">", size * sizeof(char));
+  src = strchr (mailfrom, '<');
+  if (!src)
+    src = mailfrom;
+  else
+    src++;
+  memcpy (*buffer, MAIL_FROM, MAIL_FROM_len);
+  dst = *buffer + MAIL_FROM_len;
+  while (*src != '\0' && *src != '>')
+    *dst++ = *src++;
+  *dst++ = '>';
+  *dst = '\0';
   return 1;
 }
 

