[Bug 38962] New: expr.c:234 and 235 attempted computation of 1 << 31 should be 1u << 31

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Jul 22 08:51:11 CDT 2015


https://bugs.winehq.org/show_bug.cgi?id=38962

            Bug ID: 38962
           Summary: expr.c:234 and 235 attempted computation of 1 << 31
                    should be 1u << 31
           Product: Wine
           Version: 1.7.47
          Hardware: x86-64
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: tools
          Assignee: wine-bugs at winehq.org
          Reporter: vitti570 at gmail.com
      Distribution: ---

Running widl, in tools/widl/expr.c lines 234 and 235:

cast_mask = ((1 << (cast_type_bits - 1)) - 1) | 
                            1 << (cast_type_bits - 1);

cast_type_bits is 32 thus causing computation of 1 << 31 which cannot be
represented in type 'int'.
This is illegal and undefined.
It should be 
cast_mask = ((1u << (cast_type_bits - 1)) - 1) | 
                            1u << (cast_type_bits - 1);

instead.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list