[PATCH xserver 2/6] glx: NULL check the correct argument in dispatch_GLXVendorPriv

Emil Velikov emil.l.velikov at gmail.com
Mon Feb 19 15:18:08 UTC 2018


From: Emil Velikov <emil.velikov at collabora.com>

malloc can return NULL, unlike GetVendorDispatchFunc. The latter
provides DispatchBadRequest.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---
 glx/vndcmds.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/glx/vndcmds.c b/glx/vndcmds.c
index 200176d4c..c3e1332bf 100644
--- a/glx/vndcmds.c
+++ b/glx/vndcmds.c
@@ -387,12 +387,13 @@ static int dispatch_GLXVendorPriv(ClientPtr client)
         // we'll still add an entry to the dispatch table, so that we don't
         // have to look it up again later.
         disp = (GlxVendorPrivDispatch *) malloc(sizeof(GlxVendorPrivDispatch));
+        if (disp == NULL) {
+            return BadAlloc;
+        }
+
         disp->proc = GetVendorDispatchFunc(stuff->glxCode,
                                            GlxCheckSwap(client,
                                                         stuff->vendorCode));
-        if (disp->proc == NULL) {
-            disp->proc = DispatchBadRequest;
-        }
     }
     return disp->proc(client);
 }
-- 
2.16.0



More information about the xorg-devel mailing list