[cairo] [PATCH 1/2] Don't return NULL to clients when getting image

Bryce Harrington bryce at osg.samsung.com
Tue Sep 23 01:27:35 PDT 2014


On Tue, Sep 23, 2014 at 07:26:51AM +0100, Chris Wilson wrote:
> On Mon, Sep 22, 2014 at 03:50:25PM -0700, Bryce Harrington wrote:
> > diff --git a/src/win32/cairo-win32-surface.c b/src/win32/cairo-win32-surface.c
> > index 7cd46fc..f11cbd8 100644
> > --- a/src/win32/cairo-win32-surface.c
> > +++ b/src/win32/cairo-win32-surface.c
> > @@ -188,7 +188,7 @@ cairo_surface_t *
> >  cairo_win32_surface_get_image (cairo_surface_t *surface)
> >  {
> >      if (surface->backend->type != CAIRO_SURFACE_TYPE_WIN32)
> 
> This is still dangerous - error surfaces have no surface->backend to
> dereference.
> -Chris

Good point.  Obviously users should not be trying to use error surfaces,
but I suppose they might not check.

What would you suggest?  An assert or NULL check on surface->backend?
Or introduce error backends?

Bryce



More information about the cairo mailing list