From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by sourceware.org (Postfix) with ESMTPS id 99CA83858416 for ; Wed, 9 Mar 2022 08:38:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 99CA83858416 Received: by mail-ed1-x535.google.com with SMTP id y12so1826835edc.13 for ; Wed, 09 Mar 2022 00:38:02 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=zeB6zY7Rw2iZ24x3tkm/Ne9yktnaFLICa84yF+wOR98=; b=GIZBqyQG4xCVFLo4XNMkkHgaaQKGc3dMF9378539dPEAcrxxT8Ov/JVh6giRcxJ2BI 1ArJUWcHv0fLbXresTbo0nkPkpBe/0rTmvseEINdC/S9LnD9+v8OsIvkTRRnGt/hgvTK sdCT8T0XoDL/0vPH5CYDH22iNDHeG1KUKiOcQydcIr4aTrq0IsG4/xI8uKkaT+ukmqlc 8KHVaLgujJZ/4sOK9UCwWiZhyRwnU0BRQZlx/f6rq/wJMQRGm6knruz1S22OnXvy0cZv TAOg3p3rj/3p2u4UDiNtLwcwFDeF3fzy0vsjzUQfCobQqEWZX1ckR7vPJiD70fAmS3cO kVqQ== X-Gm-Message-State: AOAM532e9eR5WSTjAZCs4Q5Ynk5EirQoBPQ5+9/NK0VStzqscP795WG0 +uaGkIMHIw624iRO6QnmBbiFbfr2MaxcRqJHEHo= X-Google-Smtp-Source: ABdhPJzPuyuTF3Vtna2ScCqWHljZLYVk63IyMoN6McKCI1RHcHX7CdMMgEb6At+7ilBnRA9bKroXTHynfk4kUypxGSU= X-Received: by 2002:aa7:d355:0:b0:415:f703:569 with SMTP id m21-20020aa7d355000000b00415f7030569mr20141779edr.215.1646815081684; Wed, 09 Mar 2022 00:38:01 -0800 (PST) MIME-Version: 1.0 References: <2a4f73f067275a669c841722d66b274768d21851.camel@mengyan1223.wang> In-Reply-To: <2a4f73f067275a669c841722d66b274768d21851.camel@mengyan1223.wang> From: Richard Biener Date: Wed, 9 Mar 2022 09:37:50 +0100 Message-ID: Subject: Re: [PATCH] vect: fix out-of-bound access in supports_vec_convert_optab_p [PR 104851] To: Xi Ruoyao Cc: GCC Patches , Richard Sandiford Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-8.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2022 08:38:03 -0000 On Wed, Mar 9, 2022 at 5:06 AM Xi Ruoyao via Gcc-patches wrote: > > This should be obvious, OK for trunk? OK. > -- >8 -- > > Calling VECTOR_MODE_P with MAX_MACHINE_MODE has caused out-of-bound > access. > > gcc/ > > PR tree-optimization/104851 > * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one > error. > --- > gcc/optabs-query.cc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/optabs-query.cc b/gcc/optabs-query.cc > index 713c098ba4e..68dc679cc6a 100644 > --- a/gcc/optabs-query.cc > +++ b/gcc/optabs-query.cc > @@ -720,7 +720,7 @@ static bool > supports_vec_convert_optab_p (optab op, machine_mode mode) > { > int start = mode == VOIDmode ? 0 : mode; > - int end = mode == VOIDmode ? MAX_MACHINE_MODE : mode; > + int end = mode == VOIDmode ? MAX_MACHINE_MODE - 1 : mode; > for (int i = start; i <= end; ++i) > if (VECTOR_MODE_P ((machine_mode) i)) > for (int j = MIN_MODE_VECTOR_INT; j < MAX_MODE_VECTOR_INT; ++j) > -- > 2.35.1 > >