php-protocolbuffers icon indicating copy to clipboard operation
php-protocolbuffers copied to clipboard

when serialize , got 'zend_mm_heap corrupted'

Open huasonglee opened this issue 8 years ago • 1 comments

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 avatar Jun 22 '16 03:06 huasonglee

@huasonglee ,thx. I have solved the problem just like you said.

henryzxj avatar Jul 18 '16 15:07 henryzxj