range check error in "hash" of objpas.pp
fpc 3.2.3 (the function is still the same in 3.3.1) / compiled with range/overflow checks
s := '/c/Windows/WinSxS/amd64_microsoft-windows-a..mmability.resources_31bf3856ad364e35_10.0.19041.1_en-us_a36bffba99c36879/Microsoft.AppV.AppVClientPowerShell.resources.dll';
Hash(s);
Will give a range check error at the index 146 of the string.
The value of theHash
will be $FFFFFFF0 (longword).
inc(theHash, ord(S[i]));
S[i]
will be 'w'. So the value overflows (or on a 64 bit system causes a range check)