提交 d6f3b7db authored 作者: Mike Jerris's avatar Mike Jerris

Merge pull request #1072 in FS/freeswitch from…

Merge pull request #1072 in FS/freeswitch from ~SBRYLDT/freeswitch:bugfix/FS-9766-ben_encode-does-not-terminate-output to master

* commit '2d1e0ae2':
  FS-9766: Added 1 byte to ben_encode output and terminates output
...@@ -1667,7 +1667,7 @@ size_t ben_encoded_size(const struct bencode *b) ...@@ -1667,7 +1667,7 @@ size_t ben_encoded_size(const struct bencode *b)
void *ben_encode(size_t *len, const struct bencode *b) void *ben_encode(size_t *len, const struct bencode *b)
{ {
size_t size = get_size(b); size_t size = get_size(b);
void *data = malloc(size); void *data = malloc(size + 1);
struct ben_encode_ctx ctx = {.data = data, .size = size}; struct ben_encode_ctx ctx = {.data = data, .size = size};
if (data == NULL) { if (data == NULL) {
//warn("No memory to encode\n"); //warn("No memory to encode\n");
...@@ -1678,6 +1678,7 @@ void *ben_encode(size_t *len, const struct bencode *b) ...@@ -1678,6 +1678,7 @@ void *ben_encode(size_t *len, const struct bencode *b)
return NULL; return NULL;
} }
assert(ctx.pos == size); assert(ctx.pos == size);
ctx.data[size] = '\0';
*len = ctx.pos; *len = ctx.pos;
return data; return data;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论