From: algea.cao Date: Tue, 11 Apr 2017 07:36:50 +0000 (+0800) Subject: drm/sysfs: fix up memory leak problem X-Git-Tag: firefly_0821_release~44 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=firefly-linux-kernel-4.4.55.git;a=commitdiff_plain;h=d7679438f04d0712257e6f4f65faaddff92b6990 drm/sysfs: fix up memory leak problem Change-Id: I2b4617412b0d5b2897c3cce2ef612a11a9762ba2 Signed-off-by: algea.cao --- 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; }