From d7679438f04d0712257e6f4f65faaddff92b6990 Mon Sep 17 00:00:00 2001 From: "algea.cao" Date: Tue, 11 Apr 2017 15:36:50 +0800 Subject: [PATCH] drm/sysfs: fix up memory leak problem Change-Id: I2b4617412b0d5b2897c3cce2ef612a11a9762ba2 Signed-off-by: algea.cao --- drivers/gpu/drm/drm_sysfs.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c index ea5aebf02319..3567aaf89995 100644 --- a/drivers/gpu/drm/drm_sysfs.c +++ b/drivers/gpu/drm/drm_sysfs.c @@ -271,11 +271,11 @@ static int drm_get_audio_format(struct edid *edid, char *audioformat, int len) { int i, size = 0, num = 0; - struct cea_sad *sads; + struct cea_sad *sads = NULL; memset(audioformat, 0, len); num = drm_edid_to_sad(edid, &sads); - if (!num) + if (num <= 0) return 0; for (i = 0; i < num; i++) { @@ -288,6 +288,8 @@ static int drm_get_audio_format(struct edid *edid, audioformat[size] = ','; audioformat += (size + 1); } + kfree(sads); + return num; } -- 2.34.1