if (nv50->global_residents.size <= (end * sizeof(struct pipe_resource *))) {
const unsigned old_size = nv50->global_residents.size;
- util_dynarray_resize(&nv50->global_residents, struct pipe_resource *, end);
- memset((uint8_t *)nv50->global_residents.data + old_size, 0,
- nv50->global_residents.size - old_size);
+ if (util_dynarray_resize(&nv50->global_residents, struct pipe_resource *, end)) {
+ memset((uint8_t *)nv50->global_residents.data + old_size, 0,
+ nv50->global_residents.size - old_size);
+ } else {
+ NOUVEAU_ERR("Could not resize global residents array\n");
+ return;
+ }
}
if (resources) {
if (nvc0->global_residents.size <= (end * sizeof(struct pipe_resource *))) {
const unsigned old_size = nvc0->global_residents.size;
- util_dynarray_resize(&nvc0->global_residents, struct pipe_resource *, end);
- memset((uint8_t *)nvc0->global_residents.data + old_size, 0,
- nvc0->global_residents.size - old_size);
+ if (util_dynarray_resize(&nvc0->global_residents, struct pipe_resource *, end)) {
+ memset((uint8_t *)nvc0->global_residents.data + old_size, 0,
+ nvc0->global_residents.size - old_size);
+ } else {
+ NOUVEAU_ERR("Could not resize global residents array\n");
+ return;
+ }
}
if (resources) {