php-protocolbuffers
php-protocolbuffers copied to clipboard
when serialize , got 'zend_mm_heap corrupted'
we had read the source code , found the bug: file: serializer.c line: 76, 101
the 2nd var is 1,
101 if (php_protocolbuffers_serializer_resize(serializer, 1)) {
but look the code bellow; it use 4 or 8
123 serializer->buffer[serializer->buffer_size++] = target[0]; 124 serializer->buffer[serializer->buffer_size++] = target[1]; 125 serializer->buffer[serializer->buffer_size++] = target[2]; 126 serializer->buffer[serializer->buffer_size++] = target[3]; 127 serializer->buffer[serializer->buffer_size++] = target[4]; 128 serializer->buffer[serializer->buffer_size++] = target[5]; 129 serializer->buffer[serializer->buffer_size++] = target[6]; 130 serializer->buffer[serializer->buffer_size++] = target[7];
so , this is a bug, I change the 2nd var to 4 or 8, then rebuild the code, it work fine. plz the author fixed it for everyone. thank you.
@huasonglee ,thx. I have solved the problem just like you said.