[TYPO3-core] RFC: Bug #4555: double posts do not get found
Martin Kutschker
Martin.Kutschker at n0spam-blackbox.net
Mon Dec 4 14:07:06 CET 2006
Michael Stucki schrieb:
> Hi Franz,
>
>
>>Problem:
>>The double post identifier key is stored as a UNSIGNED INT 32 Bit (4
>>Byte) - function calcDoublePostKey. In the query however this key is
>>converted into PHP int, which is a different value in many cases. This
>>happens with integers are larger than 2147483647. Then it would be
>>converted into a negative integer.
>
>
> I wonder how this could be tested? Did you click 500 times? ;-)
>
>
>>Solution:
>>Change the query to not convert the key into a signed integer.
>
>
> I slowly begin to understand the problem: You have removed the intval() wrap
> because the value inside could be more than this:
>
> The $key parameter is coming from ->calcDoublePostKey() which returns a
> hexdec() result. According to PHP.net this is a float, not int.
Floats are only used when the number is larger then 2147483647. I'd expect
we loose some accuracy then, but I guess it's ok if the stored key and the
compared key are generated by the same function.
+1 (untested)
Masi
More information about the TYPO3-team-core
mailing list