mirror of
https://github.com/php/php-src.git
synced 2026-04-21 23:18:13 +02:00
e15c418c4c
The problem was manifestated only with BIT columns and only when more than one row was fetched. The problem was coming from the fact that in pre-7.0 times mysqlnd was using a no-copy optimization. This optimization kept the strings (and also the BIT mask equivalents as strings) in the packet and the zval referred to them. 7.0+ zvals cannot use no-copy and always copy. Because of this the allocated memory for the packet was reduced by 1 by the person who ported the driver, but the starting address of the bit area wasn't reduced. Because of this the bit_area started at wrong address and the length decoded wrong.