From: Wilfried Göesgens Date: Sat, 24 Jul 2010 10:05:03 +0000 (+0000) Subject: * StrBufSanitizeEmailRecipientVector () fix null pointer accesses X-Git-Tag: v8.01~1011 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=9788a411fe613402787997c90a6d33f507cf6f0a * StrBufSanitizeEmailRecipientVector () fix null pointer accesses --- diff --git a/libcitadel/lib/stringbuf.c b/libcitadel/lib/stringbuf.c index 861c1d2f9..250b3109c 100644 --- a/libcitadel/lib/stringbuf.c +++ b/libcitadel/lib/stringbuf.c @@ -2582,19 +2582,24 @@ StrBuf *StrBufSanitizeEmailRecipientVector(const StrBuf *Recp, } } - - if (UserStart != NULL) + if ((UserStart != NULL) && (UserEnd != NULL)) + StrBufPlain(UserName, UserStart, UserEnd - UserStart); + else if ((UserStart != NULL) && (UserEnd == NULL)) StrBufPlain(UserName, UserStart, UserEnd - UserStart); else FlushStrBuf(UserName); - if (EmailStart != NULL) + + if ((EmailStart != NULL) && (EmailEnd != NULL)) StrBufPlain(EmailAddress, EmailStart, EmailEnd - EmailStart); + else if ((EmailStart != NULL) && (EmailEnd == NULL)) + StrBufPlain(EmailAddress, EmailStart, EmailEnd - pche); else FlushStrBuf(EmailAddress); AddRecipient(Target, UserName, EmailAddress, EncBuf); - + if (pch == NULL) + break; if ((pch != NULL) && (*pch == ',')) pch ++;