Re: [PATCH 01/10] lib/mbalign: fix unsigned integer overflow [AddressSanitizer]

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

 



On Sun, Dec 07, 2014 at 11:56:05AM +0000, Pádraig Brady wrote:
> On 04/12/14 20:14, Sami Kerola wrote:
> > On 3 December 2014 at 23:53, Pádraig Brady <P@xxxxxxxxxxxxxx> wrote:
> >> On 30/11/14 13:57, Sami Kerola wrote:
> >>> This error was reported 155 times.
> >>>
> >>> lib/mbsalign.c:322:18: runtime error: unsigned integer overflow: 0 - 1
> >>> cannot be represented in type 'size_t' (aka 'unsigned long')
> >>
> >> What compiler and version are you using for this?
> >> I don't get the error with gcc 4.9.2 with -fsanitize=undefined
> >> Note the error is incorrect I think as the variable is not read
> >> after the overflow.
> > 
> > Hi Pádraig,
> > 
> > Sorry it took ages to reply to a trivial question.
> > 
> > $ clang --version
> > clang version 3.5.0 (tags/RELEASE_350/final)
> > Target: x86_64-unknown-linux-gnu
> > Thread model: posix
> > 
> > I have not done sanitation runs with gcc.
> > 
> > The system is archlinux with testing repos enabled with daily updates,
> > that should mean a lot of libraries and such are fairly recent.
> 
> Thanks for the info.
> BTW I don't see it with clang 3.4.2.
> This seems like a too problematic warning TBH,
> as unsigned overflow is defined,
> the overflow value is not used in this case,
> this seems like a very common idiom.

 Yes, the question is if this is a good idiom ;-) IMHO it would be
 better to have robust and more explicit code where unsigned numbers
 never overflow. You're right the code is correct for now, but maybe
 one day someone will edit the code and introduce unexpected bug with
 unsigned...

    Karel


-- 
 Karel Zak  <kzak@xxxxxxxxxx>
 http://karelzak.blogspot.com
--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux