if (!up)
isl_seq_neg(eq, eq, 1 + dim);
- if (isl_tab_rollback(tab, snap) < 0)
+ if (sample && isl_tab_rollback(tab, snap) < 0)
goto error;
return sample;
goto error;
point = isl_basic_set_from_vec(sample);
hull = affine_hull(hull, point);
+ if (!hull)
+ return NULL;
}
return hull;
else
isl_mat_free(U);
hull = isl_basic_set_preimage(hull, Q);
- isl_vec_free(hull->sample);
- hull->sample = sample;
+ if (hull) {
+ isl_vec_free(hull->sample);
+ hull->sample = sample;
+ } else
+ isl_vec_free(sample);
}
isl_basic_set_free(cone);
else
isl_mat_free(T1);
hull = isl_basic_set_preimage(hull, T2);
- isl_vec_free(hull->sample);
- hull->sample = sample;
+ if (hull) {
+ isl_vec_free(hull->sample);
+ hull->sample = sample;
+ } else
+ isl_vec_free(sample);
}
return hull;