improved hash sanity checks for -m 26200 = OpenEdge

pull/3374/head
philsmd 2 years ago
parent 93427cab23
commit a71320ec9d
No known key found for this signature in database
GPG Key ID: 4F25D016D9D6A8AF

@ -109,7 +109,27 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
const u8 *hash_pos = (u8 *) token.buf[0];
const u32 hash_len = token.len[0];
memcpy ((u8 *)digest, hash_pos, hash_len);
/*
* Check encoding:
*/
for (u32 i = 0; i < hash_len; i++)
{
// chars used (alphabet):
// ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
const u8 c = hash_pos[i];
if ( c < 'A') return (PARSER_HASH_ENCODING);
if (c > 'Z' && c < 'a') return (PARSER_HASH_ENCODING);
if (c > 'z' ) return (PARSER_HASH_ENCODING);
}
/*
* digest:
*/
memcpy ((u8 *) digest, hash_pos, hash_len);
return (PARSER_OK);
}

Loading…
Cancel
Save