...
diff --git a/coders/svg.c b/coders/svg.c
index 5114d2e..ffe3301 100644
--- a/coders/svg.c
+++ b/coders/svg.c
@@ -2966,8 +2966,9 @@
if ((image->resolution.x != 90.0) && (image->resolution.y != 90.0))
rsvg_handle_set_dpi_x_y(svg_handle,image->resolution.x,
image->resolution.y);
- while ((n=ReadBlob(image,MagickPathExtent,message)) != 0)
+ while ((n=ReadBlob(image,MagickPathExtent-1,message)) != 0)
{
+ message[n]='\0';
error=(GError *) NULL;
(void) rsvg_handle_write(svg_handle,message,n,&error);
if (error != (GError *) NULL)
@@ -3184,13 +3185,15 @@
sax_modules.cdataBlock=SVGCDataBlock;
sax_modules.externalSubset=SVGExternalSubset;
sax_handler=(&sax_modules);
- n=ReadBlob(image,MagickPathExtent,message);
+ n=ReadBlob(image,MagickPathExtent-1,message);
+ message[n]='\0';
if (n > 0)
{
svg_info->parser=xmlCreatePushParserCtxt(sax_handler,svg_info,(char *)
message,n,image->filename);
- while ((n=ReadBlob(image,MagickPathExtent,message)) != 0)
+ while ((n=ReadBlob(image,MagickPathExtent-1,message)) != 0)
{
+ message[n]='\0';
status=xmlParseChunk(svg_info->parser,(char *) message,(int) n,0);
if (status != 0)
break;