|
Message-ID: <20120713000552.GA20363@openwall.com> Date: Fri, 13 Jul 2012 04:05:52 +0400 From: Solar Designer <solar@...nwall.com> To: john-dev@...ts.openwall.com Subject: keys alignment and wordlist mode (was: asan report) magnum - On Sat, Jun 30, 2012 at 12:14:18PM +0200, magnum wrote: > I think we currently guarantee that the strings passed to set_key() are > aligned unless ARCH_ALLOWS_UNALIGNED. No, we don't, at least not intentionally. > There is extra code for this in wordlist.c when using buffer mode iirc. The alignment of buffers in wordlist.c comes from core (so it's not specific/related to the memory buffering) and it is there to support fast comparison against the previous mangled word in rules_apply(): if (length >= ARCH_SIZE - 1) { if (*(ARCH_WORD *)in != *(ARCH_WORD *)last) return in; but this is actually wrong since I totally forgot about filter() possibly modifying the word. So we're comparing pre-filter() words with post-filter() ones, which is a bug that is non-trivial to fix without performance impact (hence not fixed for a while now). 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.