diff --git a/render/picture.c b/render/picture.c index 6d9c9df3a9ad6b03d1124d8d7eb5a2cf76c4c459..9e4036e7db09e29c1087d637847768c21eadb4bd 100644 --- a/render/picture.c +++ b/render/picture.c @@ -665,6 +665,9 @@ PictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats) for (n = 0; n < nformats; n++) { if (!AddResource (formats[n].id, PictFormatType, (void *) (formats + n))) { + int i; + for (i = 0; i < n; i++) + FreeResource(formats[i].id, RT_NONE); free(formats); return FALSE; }