atext =
; Any character except controls, SP, and specials.
*/
- for (start = ctx->data; ctx->data != ctx->end; ctx->data++) {
+ if (ctx->data == ctx->end || !IS_ATEXT(*ctx->data))
+ return -1;
+
+ for (start = ctx->data++; ctx->data != ctx->end; ctx->data++) {
if (IS_ATEXT(*ctx->data))
continue;
For RFC-822 compatibility allow LWSP around '.'
*/
- for (start = ctx->data; ctx->data != ctx->end; ctx->data++) {
+ if (ctx->data == ctx->end || !IS_ATEXT(*ctx->data))
+ return -1;
+
+ for (start = ctx->data++; ctx->data != ctx->end; ctx->data++) {
if (IS_ATEXT(*ctx->data))
continue;