diff --git a/src/compiler/nir/nir_clone.c b/src/compiler/nir/nir_clone.c index 682a1a274a7..69807e2e7a5 100644 --- a/src/compiler/nir/nir_clone.c +++ b/src/compiler/nir/nir_clone.c @@ -706,8 +706,10 @@ clone_function(clone_state *state, const nir_function *fxn, nir_shader *ns) add_remap(state, nfxn, fxn); nfxn->num_params = fxn->num_params; - nfxn->params = ralloc_array(state->ns, nir_parameter, fxn->num_params); - memcpy(nfxn->params, fxn->params, sizeof(nir_parameter) * fxn->num_params); + if (fxn->num_params) { + nfxn->params = ralloc_array(state->ns, nir_parameter, fxn->num_params); + memcpy(nfxn->params, fxn->params, sizeof(nir_parameter) * fxn->num_params); + } nfxn->is_entrypoint = fxn->is_entrypoint; /* At first glance, it looks like we should clone the function_impl here.