From owner-svn-src-head@FreeBSD.ORG Sun Aug 15 14:55:33 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0845B106564A; Sun, 15 Aug 2010 14:55:33 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EBE148FC12; Sun, 15 Aug 2010 14:55:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7FEtWL5063517; Sun, 15 Aug 2010 14:55:32 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7FEtW75063515; Sun, 15 Aug 2010 14:55:32 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201008151455.o7FEtW75063515@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Sun, 15 Aug 2010 14:55:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211338 - head/lib/libutil X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Aug 2010 14:55:33 -0000 Author: des Date: Sun Aug 15 14:55:32 2010 New Revision: 211338 URL: http://svn.freebsd.org/changeset/base/211338 Log: no-op commit to note that the example given in the previous commit is a very bad one, since the shift does not actually overflow. This is a better example (assuming uint64_t = unsigned long long): ~0LLU >> 9 = 0x7fffffffffffffLLU ~0LLU >> 9 << 10 = 0xfffffffffffffc00LLU ~0LLU >> 9 << 10 >> 10 = 0x3fffffffffffffLLU Modified: head/lib/libutil/expand_number.c Modified: head/lib/libutil/expand_number.c ============================================================================== --- head/lib/libutil/expand_number.c Sun Aug 15 14:50:03 2010 (r211337) +++ head/lib/libutil/expand_number.c Sun Aug 15 14:55:32 2010 (r211338) @@ -66,7 +66,7 @@ expand_number(const char *buf, uint64_t return (0); } -#define SHIFT(n, b) \ +#define SHIFT(n, b) \ do { if (((n << b) >> b) != n) goto overflow; n <<= b; } while (0) switch (tolower((unsigned char)*endptr)) {