From 5475860755d8d6e12f5f9a78c55481b71611ebfd Mon Sep 17 00:00:00 2001 From: Cristy Date: Thu, 27 Sep 2018 09:06:04 -0400 Subject: [PATCH] ... --- MagickCore/token.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/MagickCore/token.c b/MagickCore/token.c index 244df3e66..6a5db3ad6 100644 --- a/MagickCore/token.c +++ b/MagickCore/token.c @@ -175,6 +175,9 @@ MagickExport void GetNextToken(const char *start,const char **end, double value; + register char + *q; + register const char *p; @@ -301,20 +304,11 @@ MagickExport void GetNextToken(const char *start,const char **end, } } token[i]='\0'; - if ((LocaleNCompare(token,"url(",4) == 0) && (strlen(token) > 5)) + q=strrchr(token,')'); + if ((LocaleNCompare(token,"url(#",5) == 0) && (q != (char *) NULL)) { - ssize_t - offset; - - offset=4; - if (token[offset] == '#') - offset++; - i=(ssize_t) strlen(token); - if (i > offset) - { - (void) CopyMagickString(token,token+offset,MagickPathExtent); - token[i-offset-1]='\0'; - } + *q='\0'; + (void) memmove(token,token+5,(size_t) (q-token-4)); } while (isspace((int) ((unsigned char) *p)) != 0) p++; -- 2.40.0