From: Ville Syrj?l? <ville.syrj...@linux.intel.com> drmModeFreeResources() always leaked some memory. drmModeGetPlaneResources() and drmModeGetPlane() leaked in one error path.
Signed-off-by: Ville Syrj?l? <ville.syrjala at linux.intel.com> --- xf86drmMode.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/xf86drmMode.c b/xf86drmMode.c index da7b462..e67ed4a 100644 --- a/xf86drmMode.c +++ b/xf86drmMode.c @@ -96,6 +96,10 @@ void drmModeFreeResources(drmModeResPtr ptr) if (!ptr) return; + drmFree(ptr->fbs); + drmFree(ptr->crtcs); + drmFree(ptr->connectors); + drmFree(ptr->encoders); drmFree(ptr); } @@ -898,6 +902,7 @@ retry: ovr.count_format_types, sizeof(uint32_t)); if (ovr.count_format_types && !r->formats) { drmFree(r->formats); + drmFree(r); r = 0; } @@ -951,6 +956,7 @@ retry: res.count_planes, sizeof(uint32_t)); if (res.count_planes && !r->planes) { drmFree(r->planes); + drmFree(r); r = 0; } -- 1.7.3.4