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 8c763e20a90d5fb6371dd666033f500f747b097e..9b9fff808bc62fc23744fea76dba8956210d9e78 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);
    }