From 4735ca71af9f741e2438104d543dc3c5a8107f35 Mon Sep 17 00:00:00 2001 From: Andreas Baierl Date: Mon, 11 Mar 2019 16:04:08 +0100 Subject: [PATCH] xf86drm: Fix segmentation fault while parsing device info This fixes a bug, which was introduced with commit ee798b98 "xf85drm: de-duplicate drmParse{Platform.Host1x}{Bus,Device}Info". where accessing *compatible[i] with i>0 results in a segfault. Signed-off-by: Andreas Baierl Fixes: ee798b98479709acdd8d "xf85drm: de-duplicate drmParse{Platform.Host1x}{Bus,Device}Info" Reviewed-by: Eric Engestrom [Eric: add the same fix to the free() below] Signed-off-by: Eric Engestrom --- xf86drm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xf86drm.c b/xf86drm.c index cbae3e28..18ad7c58 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -3629,14 +3629,14 @@ static int drmParseOFDeviceInfo(int maj, int min, char ***compatible) free(value); } - *compatible[i] = tmp_name; + (*compatible)[i] = tmp_name; } return 0; free: while (i--) - free(*compatible[i]); + free((*compatible)[i]); free(*compatible); return err; -- 2.11.0