diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-06-04 11:59:24 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-06-04 11:59:24 +0100 |
commit | 7424ea7dd08e304baa4efa09e887b833737ac9f6 (patch) | |
tree | 9acee5d14193552d52f0b75f03a768a257817bf4 /src/intel_dri.c | |
parent | ebd6dea009479e612c67d78416b8680bb23dba94 (diff) |
uxa/dri: Free wait_info along DRI2WaitMSC error paths
Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/intel_dri.c')
-rw-r--r-- | src/intel_dri.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/intel_dri.c b/src/intel_dri.c index a1778159..4890fe49 100644 --- a/src/intel_dri.c +++ b/src/intel_dri.c @@ -1522,7 +1522,7 @@ I830DRI2ScheduleWaitMSC(ClientPtr client, DrawablePtr draw, CARD64 target_msc, strerror(errno)); limit--; } - goto out_complete; + goto out_free; } current_msc = vbl.reply.sequence; @@ -1556,7 +1556,7 @@ I830DRI2ScheduleWaitMSC(ClientPtr client, DrawablePtr draw, CARD64 target_msc, strerror(errno)); limit--; } - goto out_complete; + goto out_free; } wait_info->frame = vbl.reply.sequence; @@ -1595,7 +1595,7 @@ I830DRI2ScheduleWaitMSC(ClientPtr client, DrawablePtr draw, CARD64 target_msc, strerror(errno)); limit--; } - goto out_complete; + goto out_free; } wait_info->frame = vbl.reply.sequence; @@ -1603,6 +1603,8 @@ I830DRI2ScheduleWaitMSC(ClientPtr client, DrawablePtr draw, CARD64 target_msc, return TRUE; +out_free: + i830_dri2_del_frame_event(draw, wait_info); out_complete: DRI2WaitMSCComplete(client, draw, target_msc, 0, 0); return TRUE; |