Thomas Guyot-Sionnest <[email protected]> ha escrit:

> $ /opt/mailutils/bin/movemail -p imap://<user>:<pw>@<host>/ /tmp/mbox
> Cannot append message 1: Cannot allocate memory
> 
> The server is Exchange 2003
> 
> I'm not sure how I can debug this with a debugger, but I traced the
> error (printed in movemail/movemail.c:244) using printf's
> 
> The status is cascaded from these:

Thanks, that clarified the situation. It has nothing to do with urls,
however. Please, try the attached patch. Let me know if it works for
you.

Regards,
Sergey

diff --git a/libproto/imap/mbox.c b/libproto/imap/mbox.c
index 67f81a1..ba74b0e 100644
--- a/libproto/imap/mbox.c
+++ b/libproto/imap/mbox.c
@@ -1453,31 +1453,31 @@ imap_envelope_sender (mu_envelope_t envelope, char *buffer, size_t buflen,
 {
   mu_message_t msg = mu_envelope_get_owner (envelope);
   mu_header_t header;
+  const char *sender, *email = NULL;
   int status;
 
-  if (buflen == 0)
-    return 0;
-
   mu_message_get_header (msg, &header);
-  status = mu_header_get_value (header, MU_HEADER_SENDER, buffer, buflen, plen);
+  status = mu_header_sget_value (header, MU_HEADER_SENDER, &sender);
   if (status == EAGAIN)
     return status;
   else if (status != 0)
-    status = mu_header_get_value (header, MU_HEADER_FROM, buffer, buflen, plen);
+    status = mu_header_sget_value (header, MU_HEADER_FROM, &sender);
   if (status == 0)
     {
+      size_t len;
       mu_address_t address;
-      if (mu_address_create (&address, buffer) == 0)
+      if (mu_address_create (&address, sender) == 0)
 	{
-	  mu_address_get_email (address, 1, buffer, buflen, plen);
+	  mu_address_sget_email (address, 1, &email);
 	  mu_address_destroy (&address);
 	}
-    }
-  else if (status != EAGAIN)
-    {
-      strncpy (buffer, "Unknown", buflen)[buflen - 1] = '0';
+
+      if (!email)
+	return MU_ERR_NOENT;
+
+      len = mu_cpystr (buffer, email, buflen);
       if (plen)
-	*plen = strlen (buffer);
+	*plen = len;
     }
   return status;
 }
_______________________________________________
Bug-mailutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-mailutils

Reply via email to