For an ICD without support for VK_KHR_surface the surface list pointer will be null. If vkDestroySurface is called terminator_DestroySurfaceKHR will abort in this assert:
assert((VkSurfaceKHR)(uintptr_t)NULL == icd_term->surface_list.list[icd_surface->surface_index]);