With ImageMagick 6.3.0, our application crashes after reading SVGs.
I assume an invalid style attribute has caused this.
I suggest to change the calculation of number_tokens in coders/svg.c:
Instead of:
  for (p=text; *p != '\0'; p++)
    if (*p == ':')
      (*number_tokens)+=2;
use:
  for (p=text; *p != '\0'; p++)
    if ((*p == ':') || (*p == ';'))
      (*number_tokens)+= 1;

in:
static char **GetStyleTokens(void *context,const char *text,int *number_tokens)
{
...
  for (p=text; *p != '\0'; p++)
    if (*p == ':')
      (*number_tokens)+=2;
  tokens=(char **) AcquireMagickMemory((*number_tokens+2)*sizeof(*tokens));
...
  i=0;
  p=text;
  for (q=p; *q != '\0'; q++)
  {
    if ((*q != ':') && (*q != ';') && (*q != '\0'))
      continue;
    tokens[i]=AcquireString(p);
    (void) CopyMagickString(tokens[i],p,(size_t) (q-p+1));
    StripString(tokens[i++]);
    p=q+1;
  }
  tokens[i]=AcquireString(p);
  (void) CopyMagickString(tokens[i],p,(size_t) (q-p+1));
  StripString(tokens[i++]);
  tokens[i]=(char *) NULL;
}

Kind Regards

Thomas Stegemann

_______________________________________________
Magick-developers mailing list
Magick-developers@imagemagick.org
http://studio.imagemagick.org/mailman/listinfo/magick-developers

Reply via email to