Selaa lähdekoodia

st/dri: fix optionCache memory leaks

Signed-off-by: Brian Paul <brianp@vmware.com>
tags/mesa-7.7-2
Marcin Slusarz 16 vuotta sitten
vanhempi
commit
e978b24c87

+ 6
- 0
src/gallium/state_trackers/dri/dri_context.c Näytä tiedosto

@@ -101,6 +101,12 @@ dri_destroy_context(__DRIcontextPrivate * cPriv)
{
struct dri_context *ctx = dri_context(cPriv);

/* note: we are freeing values and nothing more because
* driParseConfigFiles allocated values only - the rest
* is owned by screen optionCache.
*/
FREE(ctx->optionCache.values);

/* No particular reason to wait for command completion before
* destroying a context, but it is probably worthwhile flushing it
* to avoid having to add code elsewhere to cope with flushing a

+ 10
- 0
src/gallium/state_trackers/dri/dri_screen.c Näytä tiedosto

@@ -327,8 +327,18 @@ static void
dri_destroy_screen(__DRIscreenPrivate * sPriv)
{
struct dri_screen *screen = dri_screen(sPriv);
int i;

screen->pipe_screen->destroy(screen->pipe_screen);
for (i = 0; i < (1 << screen->optionCache.tableSize); ++i) {
FREE(screen->optionCache.info[i].name);
FREE(screen->optionCache.info[i].ranges);
}

FREE(screen->optionCache.info);
FREE(screen->optionCache.values);

FREE(screen);
sPriv->private = NULL;
}

Loading…
Peruuta
Tallenna