aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/main/extensions.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-09-12 09:07:21 +0200
committermarha <marha@users.sourceforge.net>2011-09-12 09:07:21 +0200
commit0b40f5f4b54453a77f4b09c431f8efc6875da61f (patch)
treec1f08e0dd75a6ed7876c24c7219f93f01cab3605 /mesalib/src/mesa/main/extensions.c
parent75530c6eb2feebe234f7cb078c4caaf70c64981a (diff)
parent24a692ce832161d3b794110dd82b1508d38a0887 (diff)
downloadvcxsrv-0b40f5f4b54453a77f4b09c431f8efc6875da61f.tar.gz
vcxsrv-0b40f5f4b54453a77f4b09c431f8efc6875da61f.tar.bz2
vcxsrv-0b40f5f4b54453a77f4b09c431f8efc6875da61f.zip
Merge remote-tracking branch 'origin/released'
Conflicts: mesalib/src/glsl/ast_to_hir.cpp mesalib/src/glsl/glcpp/glcpp.c mesalib/src/mesa/drivers/dri/common/dri_util.c mesalib/src/mesa/drivers/dri/common/spantmp2.h mesalib/src/mesa/drivers/dri/common/utils.c mesalib/src/mesa/drivers/dri/swrast/swrast.c mesalib/src/mesa/program/ir_to_mesa.cpp mesalib/src/mesa/state_tracker/st_extensions.c mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c pixman/configure.ac pixman/pixman/pixman-arm-neon-asm.S pixman/test/Makefile.am pixman/test/utils.c pixman/test/utils.h
Diffstat (limited to 'mesalib/src/mesa/main/extensions.c')
-rw-r--r--mesalib/src/mesa/main/extensions.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/mesalib/src/mesa/main/extensions.c b/mesalib/src/mesa/main/extensions.c
index 1903a503c..9cec15b58 100644
--- a/mesalib/src/mesa/main/extensions.c
+++ b/mesalib/src/mesa/main/extensions.c
@@ -37,6 +37,8 @@
#include "mfeatures.h"
#include "mtypes.h"
+#define ALIGN(value, alignment) (((value) + alignment - 1) & ~(alignment - 1))
+
enum {
DISABLE = 0,
GL = 1 << API_OPENGL,
@@ -769,11 +771,11 @@ get_extension_override( struct gl_context *ctx )
if (env_const == NULL) {
/* Return the empty string rather than NULL. This simplifies the logic
* of client functions. */
- return calloc(1, sizeof(char));
+ return calloc(4, sizeof(char));
}
/* extra_exts: List of unrecognized extensions. */
- extra_exts = calloc(strlen(env_const), sizeof(char));
+ extra_exts = calloc(ALIGN(strlen(env_const) + 2, 4), sizeof(char));
/* Copy env_const because strtok() is destructive. */
env = strdup(env_const);
@@ -907,7 +909,7 @@ _mesa_make_extension_string(struct gl_context *ctx)
if (extra_extensions != NULL)
length += 1 + strlen(extra_extensions); /* +1 for space */
- exts = (char *) calloc(length + 1, sizeof(char));
+ exts = (char *) calloc(ALIGN(length + 1, 4), sizeof(char));
if (exts == NULL) {
free(extra_extensions);
return NULL;