aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/glx/indirect_dispatch.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/glx/indirect_dispatch.c')
-rw-r--r--xorg-server/glx/indirect_dispatch.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/xorg-server/glx/indirect_dispatch.c b/xorg-server/glx/indirect_dispatch.c
index 67e5280c3..80b49644a 100644
--- a/xorg-server/glx/indirect_dispatch.c
+++ b/xorg-server/glx/indirect_dispatch.c
@@ -2747,6 +2747,9 @@ int __glXDisp_AreTexturesResident(__GLXclientState *cl, GLbyte *pc)
GLboolean retval;
GLboolean answerBuffer[200];
GLboolean * residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
+
+ if (residences == NULL)
+ return BadAlloc;
retval = CALL_AreTexturesResident( GET_DISPATCH(), (
n,
(const GLuint *)(pc + 4),
@@ -2772,6 +2775,9 @@ int __glXDisp_AreTexturesResidentEXT(__GLXclientState *cl, GLbyte *pc)
GLboolean retval;
GLboolean answerBuffer[200];
GLboolean * residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
+
+ if (residences == NULL)
+ return BadAlloc;
retval = CALL_AreTexturesResident( GET_DISPATCH(), (
n,
(const GLuint *)(pc + 4),
@@ -2889,6 +2895,9 @@ int __glXDisp_GenTextures(__GLXclientState *cl, GLbyte *pc)
GLuint answerBuffer[200];
GLuint * textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+ if (textures == NULL)
+ return BadAlloc;
CALL_GenTextures( GET_DISPATCH(), (
n,
textures
@@ -2912,6 +2921,9 @@ int __glXDisp_GenTexturesEXT(__GLXclientState *cl, GLbyte *pc)
GLuint answerBuffer[200];
GLuint * textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+ if (textures == NULL)
+ return BadAlloc;
CALL_GenTextures( GET_DISPATCH(), (
n,
textures
@@ -4261,6 +4273,9 @@ int __glXDisp_GenQueries(__GLXclientState *cl, GLbyte *pc)
GLuint answerBuffer[200];
GLuint * ids = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+ if (ids == NULL)
+ return BadAlloc;
CALL_GenQueries( GET_DISPATCH(), (
n,
ids
@@ -4711,6 +4726,9 @@ int __glXDisp_GenProgramsARB(__GLXclientState *cl, GLbyte *pc)
GLuint answerBuffer[200];
GLuint * programs = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+ if (programs == NULL)
+ return BadAlloc;
CALL_GenProgramsARB( GET_DISPATCH(), (
n,
programs
@@ -5086,6 +5104,10 @@ int __glXDisp_GenFramebuffers(__GLXclientState *cl, GLbyte *pc)
GLuint answerBuffer[200];
GLuint * framebuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+ if (framebuffers == NULL)
+ return BadAlloc;
+
CALL_GenFramebuffers( GET_DISPATCH(), (
n,
framebuffers
@@ -5109,6 +5131,9 @@ int __glXDisp_GenRenderbuffers(__GLXclientState *cl, GLbyte *pc)
GLuint answerBuffer[200];
GLuint * renderbuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+ if (renderbuffers == NULL)
+ return BadAlloc;
CALL_GenRenderbuffers( GET_DISPATCH(), (
n,
renderbuffers