|
Message-ID: <20160113014837.GB18707@openwall.com> Date: Wed, 13 Jan 2016 04:48:37 +0300 From: Solar Designer <solar@...nwall.com> To: john-dev@...ts.openwall.com Subject: Re: Undefined behavior in rpp.c: left shift of 1 by 63 places cannot be represented in type 'long' Hi Frank, On Fri, Dec 18, 2015 at 09:44:32PM +0100, Frank Dittrich wrote: > rpp.c:32:33: runtime error: left shift of 1 by 63 places cannot be > represented in type 'long' > > This is the offending statement: > ARCH_WORD mask = (ARCH_WORD)1 << (c % ARCH_BITS); I've just fixed this in core. Ideally/eventually, we should instead change ARCH_WORD to be of an unsigned type, and introduce a signed equivalent for the very few places where that is needed. > There's also a github issue (in bleeding-jumbo that's in line 34): > https://github.com/magnumripper/JohnTheRipper/issues/1963 magnum's fix is correct for now, although in core I also changed the mask[] array declaration in rpp.h to use unsigned ARCH_WORD elements. I think magnum will want to merge this fix into jumbo. Thanks! Alexander
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.