[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