From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 12 15:36:07 2010 Received: (at submit) by debbugs.gnu.org; 12 Oct 2010 19:36:07 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P5kdq-0003iA-RM for submit@debbugs.gnu.org; Tue, 12 Oct 2010 15:36:07 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P5kdp-0003ho-9m for submit@debbugs.gnu.org; Tue, 12 Oct 2010 15:36:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P5khA-0003Cu-EK for submit@debbugs.gnu.org; Tue, 12 Oct 2010 15:39:33 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([199.232.76.165]:35295) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P5khA-0003Cq-C6 for submit@debbugs.gnu.org; Tue, 12 Oct 2010 15:39:32 -0400 Received: from [140.186.70.92] (port=54700 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P5kh9-0006rN-FS for bug-coreutils@gnu.org; Tue, 12 Oct 2010 15:39:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P5kh7-0003CF-Al for bug-coreutils@gnu.org; Tue, 12 Oct 2010 15:39:31 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:54729) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P5kh7-0003CA-5b for bug-coreutils@gnu.org; Tue, 12 Oct 2010 15:39:29 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 6E01039E80E1 for ; Tue, 12 Oct 2010 12:39:28 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu 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 fR3WOfHtObnH for ; Tue, 12 Oct 2010 12:39:28 -0700 (PDT) Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 053B839E80DB for ; Tue, 12 Oct 2010 12:39:28 -0700 (PDT) Message-ID: <4CB4B96F.7070902@cs.ucla.edu> Date: Tue, 12 Oct 2010 12:39:27 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100915 Thunderbird/3.0.8 MIME-Version: 1.0 To: Bug-coreutils Subject: unportable integer expression in src/install.c Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Spam-Score: -5.1 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.1 (-----) Solaris 10 cc issues this warning: "install.c", line 189: warning: initializer does not fit or is out of range: -61952 and indeed the code in question relies on undefined behavior, as it shoehorns what may be a large negative number into a small int variable. Here's a patch to src/install.c. Maybe you should remove the "const" while you're at it, as it's not that helpful here? --- src/install.c~ 2010-09-27 23:00:50.000000000 -0700 +++ src/install.c 2010-10-12 12:35:30.277787068 -0700 @@ -186,8 +186,8 @@ have_same_content (int a_fd, int b_fd) static bool extra_mode (mode_t input) { - const mode_t mask = ~S_IRWXUGO & ~S_IFMT; - return !! (input & mask); + const mode_t mask = S_IRWXUGO | S_IFMT; + return !! (input & ~ mask); } /* Return true if copy of file SRC_NAME to file DEST_NAME is necessary. */ From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 12 15:54:08 2010 Received: (at 7201) by debbugs.gnu.org; 12 Oct 2010 19:54:08 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P5kvI-0003qa-5U for submit@debbugs.gnu.org; Tue, 12 Oct 2010 15:54:08 -0400 Received: from mx.meyering.net ([82.230.74.64]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P5kvG-0003qG-RF for 7201@debbugs.gnu.org; Tue, 12 Oct 2010 15:54:07 -0400 Received: by rho.meyering.net (Acme Bit-Twister, from userid 1000) id D7870E0E3; Tue, 12 Oct 2010 21:57:33 +0200 (CEST) From: Jim Meyering To: Paul Eggert Subject: Re: bug#7201: unportable integer expression in src/install.c In-Reply-To: <4CB4B96F.7070902@cs.ucla.edu> (Paul Eggert's message of "Tue, 12 Oct 2010 12:39:27 -0700") References: <4CB4B96F.7070902@cs.ucla.edu> Date: Tue, 12 Oct 2010 21:57:33 +0200 Message-ID: <87aamj6v6a.fsf@meyering.net> Lines: 25 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -5.3 (-----) X-Debbugs-Envelope-To: 7201 Cc: 7201@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.3 (-----) Paul Eggert wrote: > Solaris 10 cc issues this warning: > > "install.c", line 189: warning: initializer does not fit or is out of range: -61952 > > and indeed the code in question relies on undefined > behavior, as it shoehorns what may be a large negative > number into a small int variable. Here's a patch > to src/install.c. Maybe you should remove the "const" > while you're at it, as it's not that helpful here? > > --- src/install.c~ 2010-09-27 23:00:50.000000000 -0700 > +++ src/install.c 2010-10-12 12:35:30.277787068 -0700 > @@ -186,8 +186,8 @@ have_same_content (int a_fd, int b_fd) > static bool > extra_mode (mode_t input) > { > - const mode_t mask = ~S_IRWXUGO & ~S_IFMT; > - return !! (input & mask); > + const mode_t mask = S_IRWXUGO | S_IFMT; > + return !! (input & ~ mask); Thanks! That looks sufficiently safe. You're welcome to commit/push that. Or I will do it for you tomorrow. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 04:58:21 2011 Received: (at 7201-done) by debbugs.gnu.org; 17 Apr 2011 08:58:21 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QBNoD-0000LF-0h for submit@debbugs.gnu.org; Sun, 17 Apr 2011 04:58:21 -0400 Received: from mx.meyering.net ([82.230.74.64]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QBNoB-0000L4-HK for 7201-done@debbugs.gnu.org; Sun, 17 Apr 2011 04:58:20 -0400 Received: by rho.meyering.net (Acme Bit-Twister, from userid 1000) id 276436012A; Sun, 17 Apr 2011 10:58:14 +0200 (CEST) From: Jim Meyering To: 7201-done@debbugs.gnu.org Subject: Re: bug#7201: unportable integer expression in src/install.c In-Reply-To: <87aamj6v6a.fsf@meyering.net> (Jim Meyering's message of "Tue, 12 Oct 2010 21:57:33 +0200") References: <4CB4B96F.7070902@cs.ucla.edu> <87aamj6v6a.fsf@meyering.net> Date: Sun, 17 Apr 2011 10:58:14 +0200 Message-ID: <871v11dzkp.fsf@rho.meyering.net> Lines: 30 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -5.9 (-----) X-Debbugs-Envelope-To: 7201-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.9 (-----) Jim Meyering wrote: > Paul Eggert wrote: >> Solaris 10 cc issues this warning: >> >> "install.c", line 189: warning: initializer does not fit or is out >> of range: -61952 >> >> and indeed the code in question relies on undefined >> behavior, as it shoehorns what may be a large negative >> number into a small int variable. Here's a patch >> to src/install.c. Maybe you should remove the "const" >> while you're at it, as it's not that helpful here? >> >> --- src/install.c~ 2010-09-27 23:00:50.000000000 -0700 >> +++ src/install.c 2010-10-12 12:35:30.277787068 -0700 >> @@ -186,8 +186,8 @@ have_same_content (int a_fd, int b_fd) >> static bool >> extra_mode (mode_t input) >> { >> - const mode_t mask = ~S_IRWXUGO & ~S_IFMT; >> - return !! (input & mask); >> + const mode_t mask = S_IRWXUGO | S_IFMT; >> + return !! (input & ~ mask); > > Thanks! That looks sufficiently safe. > You're welcome to commit/push that. > Or I will do it for you tomorrow. Applied long ago. Closing. From unknown Sun Aug 17 04:18:11 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 15 May 2011 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator