Skip to content

when serialize , got 'zend_mm_heap corrupted' #59

@huasonglee

Description

@huasonglee

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions