From 7fc757986947ad89d76fc0fd3d69f5fdeefc9055 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Mon, 19 Feb 2018 15:18:08 +0000 Subject: [PATCH] glx: NULL check the correct argument in dispatch_GLXVendorPriv malloc can return NULL, unlike GetVendorDispatchFunc. The latter provides DispatchBadRequest. Signed-off-by: Emil Velikov Reviewed-by: Adam Jackson --- 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); }