Skip to content

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)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information