X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/f3572e4b56fe8fffc75cb99b82b0cb063772836e..55b8f7b6a738adb4dc9833233fc6111f3cd56969:/sbr/m_getfld.c diff --git a/sbr/m_getfld.c b/sbr/m_getfld.c index beb6e765..6c158869 100644 --- a/sbr/m_getfld.c +++ b/sbr/m_getfld.c @@ -3,10 +3,15 @@ * m_getfld.c -- read/parse a message * * $Id$ + * + * This code is Copyright (c) 2002, by the authors of nmh. See the + * COPYRIGHT file in the root directory of the nmh distribution for + * complete copyright information. */ #include -#include +#include +#include /* This module has a long and checkered history. First, it didn't burst maildrops correctly because it considered two CTRL-A:s in a row to be @@ -178,7 +183,7 @@ static int fdelimlen; static unsigned char *edelim; static int edelimlen; -static int (*eom_action)() = NULL; +static int (*eom_action)(int) = NULL; #ifdef _FSTDIO # define _ptr _p /* Gag */ @@ -558,7 +563,7 @@ m_unknown(FILE *iob) msg_style = MS_MMDF; } c = strlen (delimstr); - fdelim = (unsigned char *) malloc((size_t) (c + 3)); + fdelim = (unsigned char *) mh_xmalloc((size_t) (c + 3)); *fdelim++ = '\0'; *fdelim = '\n'; msg_delim = (char *)fdelim+1; @@ -591,7 +596,7 @@ m_unknown(FILE *iob) void -m_eomsbr (int (*action)()) +m_eomsbr (int (*action)(int)) { if ((eom_action = action)) { msg_style = MS_MSH; @@ -730,7 +735,8 @@ matchc(int patln, char *pat, int strln, char *str) while (pc != *str++) if (str > es) return 0; - + if (str > es+1) + return 0; sp = str; pp = pat; while (pp < ep && *sp++ == *pp) pp++;