From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1666) id DA9A0386D625; Thu, 18 Jan 2024 13:14:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DA9A0386D625 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1705583660; bh=CclpBgIRiJbyTV1X4UORPy0rV0E35FUfDdhNb1oSDQI=; h=From:To:Subject:Date:From; b=GT+9gi+bPAaT2hWOYr47codikyndi8CmOsGr95QhQTv1AGDV4cxA7rzc25jXdDHX0 Tlvcbc1dSlinorM7fKfEQ7t4ci8IGj8jTZtIPXL5994iua9Av2LOkLBvhoHyDllgQP R0b1MFXgG8INCZq23YCK3tiX0aQ+aE/8odEINAXI= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Richard Biener To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-8228] Fix memory leak in vectorizable_store X-Act-Checkin: gcc X-Git-Author: Richard Biener X-Git-Refname: refs/heads/master X-Git-Oldrev: f2872e00f61a5a333fa22e651d37d3b2035ac41f X-Git-Newrev: 5b421c2a5b429fcebd7ee6444a5677633df0f28a Message-Id: <20240118131420.DA9A0386D625@sourceware.org> Date: Thu, 18 Jan 2024 13:14:20 +0000 (GMT) List-Id: https://gcc.gnu.org/g:5b421c2a5b429fcebd7ee6444a5677633df0f28a commit r14-8228-g5b421c2a5b429fcebd7ee6444a5677633df0f28a Author: Richard Biener Date: Thu Jan 18 13:04:17 2024 +0100 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. Diff: --- 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) {