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