summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Clark <robdclark@gmail.com>2015-07-21 16:53:28 -0400
committerRob Clark <robdclark@gmail.com>2015-09-09 11:18:45 -0400
commitb8d21623174edad67e2d0904790e8d97d4b5cb68 (patch)
tree443bcc7b3299b33813ac5916eb700de592d98fef
parent45c427372bafc473d37bdf4e704feba60cb58b86 (diff)
fix a couple error-path leaks
Signed-off-by: Rob Clark <robdclark@gmail.com>
-rw-r--r--src/msm-dri2.c5
-rw-r--r--src/msm-exa-xa.c3
2 files changed, 6 insertions, 2 deletions
diff --git a/src/msm-dri2.c b/src/msm-dri2.c
index a55d1dc..6f60c4d 100644
--- a/src/msm-dri2.c
+++ b/src/msm-dri2.c
@@ -489,9 +489,9 @@ MSMDRI2SwapComplete(MSMDRISwapCmd *cmd, uint32_t frame,
}
if (pPriv->cmd) {
/* dispatch queued flip: */
- MSMDRISwapCmd *cmd = pPriv->cmd;
+ MSMDRISwapCmd *next_cmd = pPriv->cmd;
pPriv->cmd = NULL;
- MSMDRI2SwapDispatch(pDraw, cmd);
+ MSMDRI2SwapDispatch(pDraw, next_cmd);
}
pPriv->pending_swaps--;
}
@@ -550,6 +550,7 @@ MSMDRI2ScheduleSwap(ClientPtr client, DrawablePtr pDraw,
if (pPriv->cmd) {
ERROR_MSG("already pending a flip!");
pPriv->pending_swaps--;
+ free(cmd);
return FALSE;
}
pPriv->cmd = cmd;
diff --git a/src/msm-exa-xa.c b/src/msm-exa-xa.c
index e2ec439..37e5880 100644
--- a/src/msm-exa-xa.c
+++ b/src/msm-exa-xa.c
@@ -780,6 +780,9 @@ XADestroyPixmap(ScreenPtr pScreen, void *dpriv)
if (priv->surf)
xa_surface_unref(priv->surf);
+ if (priv->ptr)
+ free(priv->ptr);
+
free(priv);
}