summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2014-05-02 13:14:30 +1000
committerDave Airlie <airlied@redhat.com>2014-05-02 13:14:30 +1000
commit32fb5f2d821e5e13038eab7db35c5048ad807ccc (patch)
tree40658fc00ba9466f62db50d7cb14da9757b012a1
parent509dbe8cab339e44b02fed3728bbef7de5c60d05 (diff)
modesetting: fix use after free.
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--src/drmmode_display.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 28a4abb..c533324 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -778,11 +778,11 @@ drmmode_output_destroy(xf86OutputPtr output)
drmModeFreeProperty(drmmode_output->props[i].mode_prop);
free(drmmode_output->props[i].atoms);
}
+ free(drmmode_output->props);
for (i = 0; i < drmmode_output->mode_output->count_encoders; i++) {
drmModeFreeEncoder(drmmode_output->mode_encoders[i]);
- free(drmmode_output->mode_encoders);
}
- free(drmmode_output->props);
+ free(drmmode_output->mode_encoders);
drmModeFreeConnector(drmmode_output->mode_output);
free(drmmode_output);
output->driver_private = NULL;