glapi: Correct size of allocated _glapi_table struct
authorJonas Maebe <jonas.maebe@elis.ugent.be>
Mon, 23 Apr 2012 03:39:32 +0000 (20:39 -0700)
committerJeremy Huddleston <jeremyhu@apple.com>
Mon, 23 Apr 2012 03:39:32 +0000 (20:39 -0700)
The __glapi_gentable_set_remaining_noop() routine treats the _glapi_struct
as an array of _glapi_get_dispatch_table_size() pointers, so we have to
allocate _glapi_get_dispatch_table_size()*sizeof(void*) bytes rather
than sizeof(struct _glapi_struct) bytes.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
src/mapi/glapi/glapi_gentable.c

index cc083d9859c4dc961d97e225063854405036ecf5..7552af252d76d9c6cd8ca3de236f60588579515b 100644 (file)
@@ -105,7 +105,7 @@ __glapi_gentable_set_remaining_noop(struct _glapi_table *disp) {
 
 struct _glapi_table *
 _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) {
-    struct _glapi_table *disp = calloc(1, sizeof(struct _glapi_table));
+    struct _glapi_table *disp = calloc(_glapi_get_dispatch_table_size(), sizeof(void *));
     char symboln[512];
 
     if(!disp)