From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#8545: issues with recent doprnt-related changes Date: Wed, 27 Apr 2011 22:06:23 -0700 Organization: UCLA Computer Science Department Message-ID: <4DB8F5CF.8090505@cs.ucla.edu> References: <4DB50AB9.6060100@cs.ucla.edu> <83tydmaeo3.fsf@gnu.org> <4DB65FF1.5010003@cs.ucla.edu> <83aafb8p4a.fsf@gnu.org> <4DB8ABEA.3080503@cs.ucla.edu> <4DB8DAF8.7070408@cs.ucla.edu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1303969024 17942 80.91.229.12 (28 Apr 2011 05:37:04 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 28 Apr 2011 05:37:04 +0000 (UTC) Cc: 8545@debbugs.gnu.org To: Juanma Barranquero Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Apr 28 07:36:57 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QFJuL-0002g3-5d for geb-bug-gnu-emacs@m.gmane.org; Thu, 28 Apr 2011 07:36:57 +0200 Original-Received: from localhost ([::1]:44602 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFJuK-0000ge-Jv for geb-bug-gnu-emacs@m.gmane.org; Thu, 28 Apr 2011 01:36:56 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:54647) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFJuH-0000dD-Ha for bug-gnu-emacs@gnu.org; Thu, 28 Apr 2011 01:36:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QFJuG-0002h3-7o for bug-gnu-emacs@gnu.org; Thu, 28 Apr 2011 01:36:53 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37316) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFJuG-0002gu-62 for bug-gnu-emacs@gnu.org; Thu, 28 Apr 2011 01:36:52 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1QFJRO-0004Kw-Dt; Thu, 28 Apr 2011 01:07:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Apr 2011 05:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8545 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 8545-submit@debbugs.gnu.org id=B8545.130396719316624 (code B ref 8545); Thu, 28 Apr 2011 05:07:02 +0000 Original-Received: (at 8545) by debbugs.gnu.org; 28 Apr 2011 05:06:33 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QFJQv-0004K5-JH for submit@debbugs.gnu.org; Thu, 28 Apr 2011 01:06:33 -0400 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QFJQt-0004Jq-8Q for 8545@debbugs.gnu.org; Thu, 28 Apr 2011 01:06:32 -0400 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id A3F8539E80F8; Wed, 27 Apr 2011 22:06:25 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QC-6jG2cZgmk; Wed, 27 Apr 2011 22:06:24 -0700 (PDT) Original-Received: from [192.168.1.10] (pool-71-189-109-235.lsanca.fios.verizon.net [71.189.109.235]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 612D039E80DB; Wed, 27 Apr 2011 22:06:24 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.14) Gecko/20110223 Thunderbird/3.1.8 In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Thu, 28 Apr 2011 01:07:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:46054 Archived-At: On 04/27/11 20:42, Juanma Barranquero wrote: > in this case fmt == format_end + 1 would point to the address > immediately after an object, wouldn't it? No, format_end is already pointing after the object; the object's size is format_end - format. So format_end + 1 might not be a valid pointer. > That's weird, because it would mean that every pointer variable must > be initialized (either explicitly to some value, or implicitly to the > null pointer), or else the program will have undefined behavior. No, undefined behavior occurs only when an (invalid) pointer value is created (e.g., by casting from integer, or by adding to another pointer variable), or copied. It doesn't occur merely because storage is allocated for a pointer variable. In this respect, it's like creating an (invalid) integer value. If you assign i = INT_MAX + 1, the resulting behavior is undefined. It's the same if you assign p = &x + 2. That doesn't mean "char *p;" has undefined behavior, any more than "int i;" does. > On dereferencing, sure. But just on assignment to the pointer variable? Yes. To take an extreme example, some architectures can compute a pointer only by using a special pointer register, and the register's contents are always checked for validity, even if you don't dereference the pointer. I don't know whether Emacs has been ported to these machines, but there are also problems with pointers wrapping around even on more-conventional architectures. This issue is covered by one of the questions in the C FAQ; see .