diff -up ImageMagick-6.4.5/coders/svg.c.orig ImageMagick-6.4.5/coders/svg.c --- ImageMagick-6.4.5/coders/svg.c.orig 2008-10-10 03:28:08.000000000 +0200 +++ ImageMagick-6.4.5/coders/svg.c 2008-11-14 13:52:52.000000000 +0100 @@ -2798,9 +2798,15 @@ static Image *ReadSVGImage(const ImageIn rsvg_handle_set_dpi_x_y(svg_handle, image->x_resolution == 0.0 ? 72.0 : image->x_resolution, image->y_resolution == 0.0 ? 72.0 : image->y_resolution); - error=(GError *) NULL; - while ((n=ReadBlob(image,MaxTextExtent,message)) != 0) + while ((n=ReadBlob(image,MaxTextExtent,message)) != 0) { + error=(GError *) NULL; (void) rsvg_handle_write(svg_handle,message,n,&error); + if (error != (GError *) NULL) { + /* FIXME actually do something with the error */ + g_error_free(error); + } + } + error=(GError *) NULL; rsvg_handle_close(svg_handle,&error); if (error != (GError *) NULL) g_error_free(error);