Sophie

Sophie

distrib > Mageia > 7 > x86_64 > by-pkgid > f5b163ee2c12188dc7265e5e48602f04 > files > 10

x11-server-1.20.4-7.mga7.src.rpm

From d0c7483b3edadf3ff9c12b4b024abd7b11b34ef1 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri, 5 Apr 2019 12:39:00 +0200
Subject: [PATCH 105/105] xwayland: fix a realloc OOM error case

Found by coverity

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(Cherry picked from commit 7c25439f0db4c20a4eab4ed44262eb396305f58a)
---
 hw/xwayland/xwayland-glamor-eglstream.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/hw/xwayland/xwayland-glamor-eglstream.c b/hw/xwayland/xwayland-glamor-eglstream.c
index 9950be94d..c62c0d2ac 100644
--- a/hw/xwayland/xwayland-glamor-eglstream.c
+++ b/hw/xwayland/xwayland-glamor-eglstream.c
@@ -196,7 +196,7 @@ xwl_glamor_egl_supports_device_probing(void)
 static void **
 xwl_glamor_egl_get_devices(int *num_devices)
 {
-    EGLDeviceEXT *devices;
+    EGLDeviceEXT *devices, *tmp;
     Bool ret;
     int drm_dev_count = 0;
     int i;
@@ -233,7 +233,11 @@ xwl_glamor_egl_get_devices(int *num_devices)
         goto error;
 
     *num_devices = drm_dev_count;
-    devices = realloc(devices, sizeof(EGLDeviceEXT) * drm_dev_count);
+    tmp = realloc(devices, sizeof(EGLDeviceEXT) * drm_dev_count);
+    if (!tmp)
+        goto error;
+
+    devices = tmp;
 
     return devices;
 
-- 
2.21.0