X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/337b4e616e8f53ba06285b1645e1df9918ed5c16..d7440db1907ae920928843275dcf260934ce5acb:/sbr/addrsbr.c diff --git a/sbr/addrsbr.c b/sbr/addrsbr.c index 3028847a..555822e7 100644 --- a/sbr/addrsbr.c +++ b/sbr/addrsbr.c @@ -11,6 +11,7 @@ #include #include #include +#include /* High level parsing of addresses: @@ -48,7 +49,7 @@ If an explicit host is not present, then MH checks for a bang to indicate an explicit UUCP-style address. If so, this is noted. If not, the host is - defaulted, typically to the local host. The lack of an explict host is + defaulted, typically to the local host. The lack of an explicit host is also noted. If an explicit 822-style host is present, then MH checks to see if it @@ -138,7 +139,7 @@ getm (char *str, char *dfhost, int dftype, char *eresult, size_t eresultsize) dftype = LOCALHOST; } - mp = (struct mailname *) calloc ((size_t) 1, sizeof(*mp)); + mp = (struct mailname *) mh_xcalloc ((size_t) 1, sizeof(*mp)); if (mp == NULL) { if (eresult) { strncpy (eresult, "insufficient memory to represent address", @@ -412,7 +413,8 @@ local_test: ; for (mp = &mq; mp->m_next;) { mp = mp->m_next; if (!np->m_mbox) - continue; if ((len = strlen (cp = np->m_mbox)) + continue; + if ((len = strlen (cp = np->m_mbox)) < (i = strlen (pp = mp->m_mbox))) continue; switch (mp->m_type & W_MBOX) {