diff options
author | Dave Barach <dave@barachs.net> | 2018-03-16 15:21:35 -0400 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-03-16 20:28:13 +0000 |
commit | 0d65d11053395bde7bd8c36439e9025e50ea8028 (patch) | |
tree | e893ef41493550da42dcb6486b8c1c33a4b934b3 /src/vlib/buffer_serialize.c | |
parent | c03742346f0f3f08b83b0d2944bf72e19ea26191 (diff) |
Fix a long-latent bi=0 bug in vlib_buffer_add_data
Change vlib_buffer_add_data() so it interprets ~0 to mean please
allocate a new buffer, instead of 0. Fixed a couple of calls to pass
~0 instead of 0.
Zero has always been a valid buffer index, we never happened to
actually use it until recent buffer allocator changes.
The presenting symptom: ASSERT failure when running "make
TEST=test_mpls test-debug"
Change-Id: Ic909913c1d464b3434d6d47e0c58f978806854d5
Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'src/vlib/buffer_serialize.c')
-rw-r--r-- | src/vlib/buffer_serialize.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vlib/buffer_serialize.c b/src/vlib/buffer_serialize.c index 96a5f0a0da8..48dcce3be90 100644 --- a/src/vlib/buffer_serialize.c +++ b/src/vlib/buffer_serialize.c @@ -216,7 +216,7 @@ serialize_close_vlib_buffer (serialize_main_t * m) { sm->last_buffer = vlib_buffer_add_data (sm->vlib_main, sm->tx.free_list_index, - sm->last_buffer == ~0 ? 0 : sm->last_buffer, + sm->last_buffer, s->overflow_buffer, vec_len (s->overflow_buffer)); _vec_len (s->overflow_buffer) = 0; |