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@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 ) 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/
>
>
>
> 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>) :
> > 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@lists.osgeo.org
> 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.
_______________________________________________
MapServer-dev mailing list
MapServer-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-dev

Reply via email to