From: Cristy Date: Wed, 2 Aug 2017 13:32:43 +0000 (-0400) Subject: Increment source pointer even if token length is exceeded X-Git-Tag: 7.0.6-5~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=653725017bbc388ff7c53a3bdff85855519602ad;p=imagemagick Increment source pointer even if token length is exceeded --- diff --git a/MagickCore/token.c b/MagickCore/token.c index 381459fab..a3a3c2e06 100644 --- a/MagickCore/token.c +++ b/MagickCore/token.c @@ -231,10 +231,14 @@ MagickExport void GetNextToken(const char *start,const char **end, case '/': { if (i < (ssize_t) (extent-1)) - token[i++]=(*p++); + token[i++]=(*p); + p++; if ((*p == '>') || (*p == '/')) - if (i < (ssize_t) (extent-1)) - token[i++]=(*p++); + { + if (i < (ssize_t) (extent-1)) + token[i++]=(*p); + p++; + } break; } default: @@ -254,15 +258,19 @@ MagickExport void GetNextToken(const char *start,const char **end, break; } if (*p == '%') - if (i < (ssize_t) (extent-1)) - token[i++]=(*p++); + { + if (i < (ssize_t) (extent-1)) + token[i++]=(*p); + p++; + } break; } if ((*p != '\0') && (isalpha((int) ((unsigned char) *p)) == 0) && (*p != *DirectorySeparator) && (*p != '#') && (*p != '<')) { if (i < (ssize_t) (extent-1)) - token[i++]=(*p++); + token[i++]=(*p); + p++; break; } for ( ; *p != '\0'; p++)