From patchwork Sat Apr 21 15:53:33 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Meyering X-Patchwork-Id: 154216 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 1868BB6FC8 for ; Sun, 22 Apr 2012 01:54:13 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1335628454; h=Comment: DomainKey-Signature:Received:Received:Received:Received:From:To: Subject:Date:Message-ID:Lines:MIME-Version:Content-Type: Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:Sender:Delivered-To; bh=VVLxBxzUXyPwubtRNaRT hHIzTm4=; b=fHALqJxaMkQbYiYsbmpir50XOOizWoMcIC4D5R7Q/HO/22ohfWcK YyWAMK6Hze8uyPKnndHgvoihIJUsJpj5ZiAtBskPpQOSaiNV/VGXF0x7wuE1GT3V rEJYdEZ+jNx4lEfHYDu5Ta2LIkJd+gOmghd5DQzrSvT8M5gcdQ4MocM= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:From:To:Subject:Date:Message-ID:Lines:MIME-Version:Content-Type:X-IsSubscribed:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=NhjuTtX5WtBSOPjArGKxjFVqfGYnADeGYjltngm25XpiOTx7X2533Lx4eOdQuP rUbeTMPODZqoVKWhu51vdPojSfvwHiAg0nGcE4jf2rV4KfRIB7witHraHJiLsN5o T1proHZen1F7wtiDY48imSc3NB831/KwpQUIBt1nuBdXU=; Received: (qmail 12430 invoked by alias); 21 Apr 2012 15:54:10 -0000 Received: (qmail 12422 invoked by uid 22791); 21 Apr 2012 15:54:09 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL, BAYES_00, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx.meyering.net (HELO mx.meyering.net) (88.168.87.75) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 21 Apr 2012 15:53:36 +0000 Received: from rho.meyering.net (localhost.localdomain [127.0.0.1]) by rho.meyering.net (Acme Bit-Twister) with ESMTP id 7F4C661680 for ; Sat, 21 Apr 2012 17:53:33 +0200 (CEST) From: Jim Meyering To: gcc-patches@gcc.gnu.org Subject: [PATCH] genattrtab: avoid NULL-deref on error Date: Sat, 21 Apr 2012 17:53:33 +0200 Message-ID: <87mx65f5du.fsf@rho.meyering.net> Lines: 35 MIME-Version: 1.0 X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org I see that no one responded when I posted this in February. Ok to commit, now? 2012-02-24 Jim Meyering * genattrtab.c (gen_attr): Avoid NULL-deref after diagnosing absence of an define_enum call. --- 1.7.10.228.g81f95 diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c index 4a4c2a2..bfbe3e8 100644 --- a/gcc/genattrtab.c +++ b/gcc/genattrtab.c @@ -1,6 +1,6 @@ /* Generate code from machine description to compute values of attributes. Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) @@ -2993,8 +2993,9 @@ gen_attr (rtx exp, int lineno) if (!et || !et->md_p) error_with_line (lineno, "No define_enum called `%s' defined", attr->name); - for (ev = et->values; ev; ev = ev->next) - add_attr_value (attr, ev->name); + if (et) + for (ev = et->values; ev; ev = ev->next) + add_attr_value (attr, ev->name); } else if (*XSTR (exp, 1) == '\0') attr->is_numeric = 1;