|
Message-ID: <3f3e62db94ac218aca92a3d9eabe5bf9@smtp.hushmail.com> Date: Mon, 13 Aug 2012 19:05:27 +0200 From: magnum <john.magnum@...hmail.com> To: john-dev@...ts.openwall.com Subject: Serious bug in -fixes and all other branches We have a serious loader problem. It often segfaults while reading a pot file containing other formats than what we are loading. This is in all branches, including -fixes :( I think it was introduced in this commit in -fixes of Aug 9: 1c637ba "dynamic: $HEX$ fixes" by JimF specifically, these lines in ldr_load_pot_line() in loader.c: - if (format->methods.valid(ciphertext,format) != 1) return; - - ciphertext = format->methods.split(ciphertext, 0); ... + if (format->methods.valid(ciphertext, format) != 1) { + ciphertext = format->methods.split(ciphertext, 0); + if (format->methods.valid(ciphertext, format) != 1) + return; + } else + ciphertext = format->methods.split(ciphertext, 0); after that patch, we call split() even though valid() returned false. I believe that is wrong, right? If this is supposed to be allowed, I fear we have a lot of work to do in a lot of formats :-/ Also, I'm not sure what this has to do with $HEX$? Is some of that functionality done in dynamic's split()? So maybe if the above is reverted/fixed, the $HEX$ functionality need to be revised? Bottom line: I do not dare committing any fix until the above questions are answered. magnum
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.