[MapServer-dev] Zero-size SVG rendering : mapserv.fcgi crashes
Jeff McKenna
jmckenna at gatewaygeomatics.com
Mon Nov 13 05:53:00 PST 2023
Hi Philippe,
Yes please open a ticket with your suggested changes.
thanks,
-jeff
On 2023-11-13 6:21 a.m., Philippe Ghesquiere wrote:
> Hi Jeff,
>
> I'm afraid I will not be able to make a pull request by myself : I have
> no development environment at hand.
> Do you want me to open an issue ?
> Sincerely
> Philippe
>
> On Fri, Nov 10, 2023 at 6:39 PM Jeff McKenna via MapServer-dev
> <mapserver-dev at lists.osgeo.org <mailto:mapserver-dev at lists.osgeo.org>>
> wrote:
>
> Hi Philippe,
>
> Your dimensions test makes sense to me. Are you willing to submit a
> pull request for this, against the main branch? Also, it would be
> great
> if you can include a test for this in msautotest (follow steps at
> https://mapserver.org/development/tests/autotest.html
> <https://mapserver.org/development/tests/autotest.html> ) as part of
> your
> pull request.
>
> Thanks,
>
> -jeff
>
>
>
>
>
> --
> Jeff McKenna
> GatewayGeo: Developers of MS4W, & offering MapServer Consulting/Dev
> co-founder of FOSS4G
> http://gatewaygeo.com/ <http://gatewaygeo.com/>
>
>
>
> On 2023-11-10 11:40 a.m., Philippe Ghesquiere via MapServer-dev wrote:
> > Hi all,
> >
> > My mapserver installation is based on :
> >
> > * Mapserver 7.6.3
> > * MapCache : 1.12.0
> >
> > I bumped into a configuration (zoom, orientation, ...) where an SVG
> > symbol has one null dimension (height or width).
> > The rendering process crashes with the following error message
> > (mapcairo.c
> > <https://github.com/MapServer/MapServer/blob/rel-7-6-3/mapcairo.c
> <https://github.com/MapServer/MapServer/blob/rel-7-6-3/mapcairo.c>>) :
> > mapserv.fcgi:
> /builds/i4d/datacenter/mapserver/MapServer/mapcairo.c:1074:
> > msRenderRasterizedSVGSymbol: Assertion
> `svg_cache->pixmap_buffer->height
> > && svg_cache->pixmap_buffer->width' failed.
> >
> > The code snippet shows :
> > //already rendered at the right size and scale? return
> > if(svg_cache->scale != style->scale || svg_cache->rotation !=
> > style->rotation) {
> > ...
> > }
> > assert(svg_cache->pixmap_buffer->height &&
> svg_cache->pixmap_buffer->width);
> >
> > Instead of crashing the rendering process, wouldn't it be more
> > appropriate to test buffer dimensions beforehands.
> > Something like :
> > if ( (svg_cache->pixmap_buffer->height == 0 ||
> > (svg_cache->pixmap_buffer->width == 0) )
> > return MS_FAILURE;
> >
> > //already rendered at the right size and scale? return
> > if(svg_cache->scale != style->scale || svg_cache->rotation !=
> > style->rotation) {
> > ...
> > }
> >
> > Philippe
> > The information in this e-mail is confidential. The contents may
> not be
> > disclosed or used by anyone other than the addressee. Access to this
> > e-mail by anyone else is unauthorised.
> > If you are not the intended recipient, please notify Airbus
> immediately
> > and delete this e-mail.
> > Airbus cannot accept any responsibility for the accuracy or
> completeness
> > of this e-mail as it has been sent over public networks. If you
> have any
> > concerns over the content of this message or its Accuracy or
> Integrity,
> > please contact Airbus immediately.
> > All outgoing e-mails from Airbus are checked using regularly updated
> > virus scanning software but you should take whatever measures you
> deem
> > to be appropriate to ensure that this message and any attachments
> are
> > virus free.
> >
> _______________________________________________
> MapServer-dev mailing list
> MapServer-dev at lists.osgeo.org <mailto:MapServer-dev at lists.osgeo.org>
> https://lists.osgeo.org/mailman/listinfo/mapserver-dev
> <https://lists.osgeo.org/mailman/listinfo/mapserver-dev>
>
> The information in this e-mail is confidential. The contents may not be
> disclosed or used by anyone other than the addressee. Access to this
> e-mail by anyone else is unauthorised.
> If you are not the intended recipient, please notify Airbus immediately
> and delete this e-mail.
> Airbus cannot accept any responsibility for the accuracy or completeness
> of this e-mail as it has been sent over public networks. If you have any
> concerns over the content of this message or its Accuracy or Integrity,
> please contact Airbus immediately.
> All outgoing e-mails from Airbus are checked using regularly updated
> virus scanning software but you should take whatever measures you deem
> to be appropriate to ensure that this message and any attachments are
> virus free.
--
Jeff McKenna
GatewayGeo: Developers of MS4W, & offering MapServer Consulting/Dev
co-founder of FOSS4G
http://gatewaygeo.com/
More information about the MapServer-dev
mailing list