Is HashData OK when key->hash being NULL ?  In any case, <code>
return (key && length) ? HashData(key->hash, length) : NULL;
</code>