mesa: NULL check the pointer before trying to dereference it
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 9 Apr 2013 02:55:18 +0000 (19:55 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 12 Apr 2013 23:24:48 +0000 (16:24 -0700)
Duh.

Fixes issues identified by Klocwork analysis:

    Pointer 'table' returned from call to function 'calloc' at line 115
    may be NULL and will be dereferenced at line 117.

and

    Suspicious dereference of pointer 'table' before NULL check at line
    119.

NOTE: This is a candidate for the stable branches.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/main/hash.c

index 8c763e2..9b9fff8 100644 (file)
@@ -114,9 +114,9 @@ _mesa_NewHashTable(void)
 {
    struct _mesa_HashTable *table = CALLOC_STRUCT(_mesa_HashTable);
 
-   table->ht = _mesa_hash_table_create(NULL, uint_key_compare);
-   _mesa_hash_table_set_deleted_key(table->ht, uint_key(DELETED_KEY_VALUE));
    if (table) {
+      table->ht = _mesa_hash_table_create(NULL, uint_key_compare);
+      _mesa_hash_table_set_deleted_key(table->ht, uint_key(DELETED_KEY_VALUE));
       _glthread_INIT_MUTEX(table->Mutex);
       _glthread_INIT_MUTEX(table->WalkMutex);
    }