--- libaitwww/src/mime.c 2012/03/09 15:53:40 1.1.1.1.2.3 +++ libaitwww/src/mime.c 2012/03/15 01:59:37 1.3 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: mime.c,v 1.1.1.1.2.3 2012/03/09 15:53:40 misho Exp $ +* $Id: mime.c,v 1.3 2012/03/15 01:59:37 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -170,7 +170,7 @@ hdrValue(const char *str, size_t len, const char **end e = str + len; while (str < e) { if (!(crlf = findtextpos(str, e - str, CRLF, strlen(CRLF)))) { - www_SetErr(EBADMSG, "Bad header format of MIME part"); + www_SetErr(EFAULT, "Bad header format of MIME part"); return NULL; } @@ -328,7 +328,7 @@ mime_parseMultiPart(const char *str, size_t len, const mime_t *mime = NULL; struct iovec bd[2]; struct tagMIME *m, *old = NULL; - const char *next; + const char *next = NULL; if (!str | !bdtag) { www_SetErr(EINVAL, "String or boundary tag is NULL"); @@ -362,7 +362,7 @@ mime_parseMultiPart(const char *str, size_t len, const /* check boundary tag */ if (memcmp(str, strstr(bd[0].iov_base, "--"), strlen(strstr(bd[0].iov_base, "--")))) { - www_SetErr(EBADMSG, "Bad content data, not found boundary tag"); + www_SetErr(EFAULT, "Bad content data, not found boundary tag"); free(bd[1].iov_base); free(bd[0].iov_base); free(mime); @@ -372,7 +372,7 @@ mime_parseMultiPart(const char *str, size_t len, const len -= strlen(strstr(bd[0].iov_base, "--")); } - while (42) { + while (len > 0) { m = malloc(sizeof(struct tagMIME)); if (!m) { LOGERR; @@ -496,7 +496,7 @@ mime_parseHeader(struct tagMIME * __restrict m, const colon = memchr(str, ':', e - str); eoh = findtextpos(str, e - str, CRLF, strlen(CRLF)); if (!colon || !eoh || colon > eoh) { - www_SetErr(EBADMSG, "Bad MIME format message"); + www_SetErr(EFAULT, "Bad MIME format message"); freeHeader(m); return -1; }