llvmpipe: fix CALLOC vs. free mismatches

Submitted by Jose Fonseca on Sept. 6, 2019, 6:12 a.m.

Details

Message ID BL0PR05MB5026BC287F460FBCC2140944B6BA0@BL0PR05MB5026.namprd05.prod.outlook.com
State New
Headers show
Series "llvmpipe: fix CALLOC vs. free mismatches" ( rev: 2 ) in Mesa

Not browsing as part of any series.

Commit Message

Jose Fonseca Sept. 6, 2019, 6:12 a.m.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>

Patch hide | download patch | download mbox

diff --git a/src/gallium/drivers/llvmpipe/lp_cs_tpool.c b/src/gallium/drivers/llvmpipe/lp_cs_tpool.c
index 04495727e1c..6f1b4e2ee55 100644
--- a/src/gallium/drivers/llvmpipe/lp_cs_tpool.c
+++ b/src/gallium/drivers/llvmpipe/lp_cs_tpool.c
@@ -65,7 +65,7 @@  lp_cs_tpool_worker(void *data)
          cnd_broadcast(&task->finish);
    }
    mtx_unlock(&pool->m);
-   free(lmem.local_mem_ptr);
+   FREE(lmem.local_mem_ptr);
    return 0;
 }

@@ -105,7 +105,7 @@  lp_cs_tpool_destroy(struct lp_cs_tpool *pool)

    cnd_destroy(&pool->new_work);
    mtx_destroy(&pool->m);
-   free(pool);
+   FREE(pool);
 }

 struct lp_cs_tpool_task *
@@ -148,6 +148,6 @@  lp_cs_tpool_wait_for_task(struct lp_cs_tpool *pool,
    mtx_unlock(&pool->m);

    cnd_destroy(&task->finish);
-   free(task);
+   FREE(task);
    *task_handle = NULL;
 }
diff --git a/src/gallium/drivers/llvmpipe/lp_state_cs.c b/src/gallium/drivers/llvmpipe/lp_state_cs.c
index 1645a185cb2..a26cbf4df22 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_cs.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_cs.c
@@ -1123,8 +1123,9 @@  cs_exec_fn(void *init_data, int iter_idx, struct lp_cs_local_mem *lmem)
    memset(&thread_data, 0, sizeof(thread_data));

    if (lmem->local_size < job_info->req_local_mem) {
+      lmem->local_mem_ptr = REALLOC(lmem->local_mem_ptr, lmem->local_size,
+                                    job_info->req_local_mem);
       lmem->local_size = job_info->req_local_mem;
-      lmem->local_mem_ptr = realloc(lmem->local_mem_ptr, lmem->local_size);
    }
    thread_data.shared = lmem->local_mem_ptr;