loader: Grab next before destroying the data
diff --git a/loader/loader.c b/loader/loader.c
index d190b8b..3ad1198 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -599,8 +599,11 @@
{
ptr_inst->total_icd_count--;
free(icd->gpus);
- for (struct loader_device *dev = icd->logical_device_list; dev; dev = dev->next)
+ for (struct loader_device *dev = icd->logical_device_list; dev; ) {
+ struct loader_device *next_dev = dev->next;
loader_destroy_logical_device(dev);
+ dev = next_dev;
+ }
free(icd);
}