From 305cd3d3c297f1a4a9ce1245a0c1a1d0ce9f8a1f Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 17 Mar 2011 13:15:58 +0100 Subject: [PATCH] isl_mat_extend: avoid memory leak when realloc fails Signed-off-by: Sven Verdoolaege --- isl_mat.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/isl_mat.c b/isl_mat.c index cb7db6b..271c649 100644 --- a/isl_mat.c +++ b/isl_mat.c @@ -55,6 +55,7 @@ struct isl_mat *isl_mat_extend(struct isl_mat *mat, { int i; isl_int *old; + isl_int **row; if (!mat) return NULL; @@ -87,9 +88,10 @@ struct isl_mat *isl_mat_extend(struct isl_mat *mat, mat->block = isl_blk_extend(mat->ctx, mat->block, n_row * mat->max_col); if (isl_blk_is_error(mat->block)) goto error; - mat->row = isl_realloc_array(mat->ctx, mat->row, isl_int *, n_row); - if (!mat->row) + row = isl_realloc_array(mat->ctx, mat->row, isl_int *, n_row); + if (!row) goto error; + mat->row = row; for (i = 0; i < mat->n_row; ++i) mat->row[i] = mat->block.data + (mat->row[i] - old); -- 2.7.4