bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#7201: unportable integer expression in src/install.c


From: Jim Meyering
Subject: bug#7201: unportable integer expression in src/install.c
Date: Sun, 17 Apr 2011 10:58:14 +0200

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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]