static void vrend_destroy_surface(struct vrend_surface *surf)
{
   vrend_resource_reference(&surf->texture, NULL);
   free(surf);
}

The product does not release a resource after its effective lifetime has ended, i.e., after the resource is no longer needed.