mirror of
https://github.com/fluencelabs/redis
synced 2025-03-30 22:31:03 +00:00
Merge pull request #3072 from yoav-steinberg/cmsgpack_fix
cmsgpack: pass correct osize values to lua allocator
This commit is contained in:
commit
66dbc5e61f
8
deps/lua/src/lua_cmsgpack.c
vendored
8
deps/lua/src/lua_cmsgpack.c
vendored
@ -119,10 +119,10 @@ mp_buf *mp_buf_new(lua_State *L) {
|
|||||||
|
|
||||||
void mp_buf_append(mp_buf *buf, const unsigned char *s, size_t len) {
|
void mp_buf_append(mp_buf *buf, const unsigned char *s, size_t len) {
|
||||||
if (buf->free < len) {
|
if (buf->free < len) {
|
||||||
size_t newlen = buf->len+len;
|
size_t newsize = (buf->len+len)*2;
|
||||||
|
|
||||||
buf->b = (unsigned char*)mp_realloc(buf->L, buf->b, buf->len, newlen*2);
|
buf->b = (unsigned char*)mp_realloc(buf->L, buf->b, buf->len + buf->free, newsize);
|
||||||
buf->free = newlen;
|
buf->free = newsize - buf->len;
|
||||||
}
|
}
|
||||||
memcpy(buf->b+buf->len,s,len);
|
memcpy(buf->b+buf->len,s,len);
|
||||||
buf->len += len;
|
buf->len += len;
|
||||||
@ -130,7 +130,7 @@ void mp_buf_append(mp_buf *buf, const unsigned char *s, size_t len) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void mp_buf_free(mp_buf *buf) {
|
void mp_buf_free(mp_buf *buf) {
|
||||||
mp_realloc(buf->L, buf->b, buf->len, 0); /* realloc to 0 = free */
|
mp_realloc(buf->L, buf->b, buf->len + buf->free, 0); /* realloc to 0 = free */
|
||||||
mp_realloc(buf->L, buf, sizeof(*buf), 0);
|
mp_realloc(buf->L, buf, sizeof(*buf), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user