From 5b421c2a5b429fcebd7ee6444a5677633df0f28a Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 18 Jan 2024 13:04:17 +0100 Subject: [PATCH] Fix memory leak in vectorizable_store The following fixes a memory leak in vectorizable_store which happens because the functions populating gvec_oprnds[i] will call .create () on the incoming vector, leaking what we've previously allocated. * tree-vect-stmts.cc (vectorizable_store): Do not allocate storage for gvec_oprnds elements. --- gcc/tree-vect-stmts.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index cabd4e3ae86..69d76c3b350 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -8772,7 +8772,7 @@ vectorizable_store (vec_info *vinfo, tree vec_mask = NULL; auto_delete_vec> gvec_oprnds (group_size); for (i = 0; i < group_size; i++) - gvec_oprnds.quick_push (new auto_vec (ncopies)); + gvec_oprnds.quick_push (new auto_vec ()); if (memory_access_type == VMAT_LOAD_STORE_LANES) {