diff options
author | Jon Loeliger <jdl@netgate.com> | 2018-02-27 13:58:47 -0600 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-02-27 20:53:14 +0000 |
commit | 0aa14ed8f56cda4135766471d32755392f92bda7 (patch) | |
tree | cc1526b04a2d5fd3254f4cb5d188b8cd289885d4 | |
parent | b95bc05fce633096d6c6ec74b163ab92e3a39959 (diff) |
memif: Fix a message initialization problem in VAT
The VAT calls to MEMIF_SOCKET_FILENAME_ADD_DEL erroneously
cleared the message memory after the M() macro call and
thus lost their message id. Don't do that.
While in the neighborhood, prevent a string copy from
referencing data that doesn't belong to the filename string.
Change-Id: Ib4309608ed617ef4f193880ecf4a0b35fda65e51
Signed-off-by: Jon Loeliger <jdl@netgate.com>
-rw-r--r-- | src/plugins/memif/memif_test.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/plugins/memif/memif_test.c b/src/plugins/memif/memif_test.c index b1d563218d9..510462ef6a8 100644 --- a/src/plugins/memif/memif_test.c +++ b/src/plugins/memif/memif_test.c @@ -164,11 +164,10 @@ api_memif_socket_filename_add_del (vat_main_t * vam) M (MEMIF_SOCKET_FILENAME_ADD_DEL, mp); - memset (mp, 0, sizeof (*mp)); mp->is_add = is_add; mp->socket_id = htonl (socket_id); - memcpy (mp->socket_filename, - socket_filename, sizeof (mp->socket_filename) - 1); + strncpy ((char *) mp->socket_filename, + (char *) socket_filename, sizeof (mp->socket_filename) - 1); vec_free (socket_filename); |