Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 3 Dec 2015 23:09:51 +0300
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: rules.c patch for ASan fault

On Thu, Dec 03, 2015 at 01:57:47PM -0600, jfoug wrote:
> On 12/3/2015 12:28 PM, Solar Designer wrote:
> >... but (rules_vars['m'] + 1) is then 0, isn't it? 
> Nope, it is 256 due to this:

Yeah, it's a promotion issue.  So a valid fix would be to use:

	mleft = (int)(unsigned char)(rules_vars['m'] + 1) - mpos;

Arguably, the very definition of 'm' is wrong, though - not allowing for
intuitive handling of zero-length strings:

"m       initial or memorized word's last character position"

"Character positions are numbered starting with 0."

But this isn't something we should change now.

Alexander

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ