diff --git a/glx/clientinfo.c b/glx/clientinfo.c index cc148344b..b443729fb 100644 --- a/glx/clientinfo.c +++ b/glx/clientinfo.c @@ -71,6 +71,8 @@ set_client_info(__GLXclientState * cl, xGLXSetClientInfoARBReq * req, free(cl->GLClientextensions); cl->GLClientextensions = strdup(gl_extensions); + if (!cl->GLClientextensions) + return BadAlloc; return 0; } diff --git a/glx/glxcmds.c b/glx/glxcmds.c index 148a4075d..3971809d4 100644 --- a/glx/glxcmds.c +++ b/glx/glxcmds.c @@ -2501,6 +2501,8 @@ __glXDisp_ClientInfo(__GLXclientState * cl, GLbyte * pc) free(cl->GLClientextensions); cl->GLClientextensions = strdup(buf); + if (!cl->GLClientextensions) + return BadAlloc; return Success; }