From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1851 invoked by alias); 14 Oct 2013 11:25:20 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 1837 invoked by uid 89); 14 Oct 2013 11:25:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 14 Oct 2013 11:25:19 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r9EBPHNE001587 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 14 Oct 2013 07:25:18 -0400 Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r9EBPGpV001793; Mon, 14 Oct 2013 07:25:17 -0400 Message-ID: <525BD49B.4080700@redhat.com> Date: Mon, 14 Oct 2013 11:25:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: gdb-patches@sourceware.org, dcb314@hotmail.com Subject: Re: [PATCH][PR gdb/16013] Fix off-by-one errors in *scanf format strings References: <20131014105252.GA5262@blade.nx> In-Reply-To: <20131014105252.GA5262@blade.nx> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SW-Source: 2013-10/txt/msg00431.txt.bz2 On 10/14/2013 11:52 AM, Gary Benson wrote: > Hi all, > > This patch fixes a number of off-by-one errors in *scanf format > strings. These could be fixed by either reducing the length specified in the format string, or, by increasing the buffers. Either such change would be obvious from a coding perspective. But the part that requires a rationale, is, that one that justifies the taken approach. That will be governed what the actual lengths of these fields on the kernel side. E.g.: /* sizeof (cmd) should be greater or equal to TASK_COMM_LEN (in include/linux/sched.h in the Linux kernel sources) plus two (for the brackets). */ char cmd[32]; PID_T stat_pid; int items_read = fscanf (fp, "%lld %32s", &stat_pid, cmd); Did you check the value of TASK_COMM_LEN ? (I haven't). Same for the other fields. -- Pedro Alves